Tabletop simulator on the Web
It can easily create a tabletop game with just the components and initialization process.
↓ Code of PlayingCard
create()->Components[]
){move(), click()}
)Components[]
)event.ts
)の送受信によって状態が共有されるschema.ts
)src
├── client
│ ├── Components
│ │ ├── component.ts # コンポーネントの基底クラス
│ │ ├── card.ts # カードゲーム用のカードコンポーネント
│ │ └── ... # いろいろなコンポーネント
│ ├── Games
│ │ ├── game.ts # ゲームの基底クラス
│ │ ├── gameList.ts # ゲームリスト
│ │ └── ... # いろいろなゲーム
│ ├── const.ts # 定数
│ ├── index.ts # クライアントのエントリ
│ ├── event.ts # クライアント間でゲームの状態を共有するためのイベントタイプ
│ └── gamescene.ts # ゲームの管理(クライアント)
├── router.ts # サーバーとクライアントを管理・実行するルーター
├── schema.ts # ゲーム外の状態(プレイヤー情報)などを保持するためのスキーマ(Colyseusによって状態が管理される)
└── server
└── gameroom.ts # ゲームの管理(サーバー)