實體組件系統 (ECS)
ECS,即 Entity Component System(實體組件系統),是 Biomes 用來儲存遊戲中動態資料的系統。(Bikkie 則是處理靜態資料的系統)。
ECS 結構定義
ECS 結構定義使用 Python 定義,位於 src/ecs/defs.py。
這些定義會透過程式碼生成轉換為 TypeScript 定義,存放在 src/shared/ecs/gen 中。
一個單一的實體(Entity),例如玩家或 NPC,由許多可重複使用的組件(Component)組成,例如背包(Inventory)或位置(Position)。不同類型的實體會共享不同的組件集合。
除了資料定義之外,我們還定義:
- ECS 事件,供玩家(和特權服務)作為事件發送到邏輯伺服器
- 選擇器(Selectors),用於一次選取多個組件
更新結構定義
在更新結構定義後,執行 ./b gen:ecs 以更新 ECS 定義。