跳到主要內容

實體組件系統 (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 定義。