Systems and Tools
系統
以下系統為運行流場所必需(按SystemSetup
中的順序列出)
FlowFieldPathfinderSystem_Requests
: 單線程系統。當FlowFieldPathfinder
請求時,將新目的地新增到FlowFieldControllers
。FlowFieldMapSystem_UpdateMap
: 多線程系統。重新計算標記為「髒」的控制器。當成本或傳送門發生變化,或FlowFieldPathfinderSystem_Requests
新增了新目的地時,控制器會被標記為「髒」。FlowFieldPathfinderSystem_RequestPath
: 多線程系統。計算請求路徑的標識符(用於路徑緩存),並將請求註冊到FlowFieldMap
。當兩個路徑查找器在同一幀中請求具有相同標識符的路徑時,會使用實體索引較低的路徑查找器的起始位置和目的地進行導航的第一步(A*)。FlowFieldMapSystem_FindPaths
: 多線程系統。計算由FlowFieldPathfinderSystem_RequestPath
請求的路徑,並將其新增到路徑緩存中。FlowFieldPathfinderSystem_CopyPaths
: 單線程系統。將FlowFieldMapSystem_FindPaths
計算的路徑複製到FlowFieldPathfinder
。FlowFieldPathfinderSystem_SmoothPath
: 多線程系統。為每個路徑查找器計算下一個平滑轉角,這些路徑查找器要麼有新目的地,要麼已經到達當前平滑轉角。FlowFieldPathfinderSystem_Removes
單線程系統。移除由FlowFieldPathfinderSystem_Requests
新增到FlowFieldControllers
的目的地請求。FlowFieldMapSystem_ClearCache
: 單線程系統。當緩存的路徑數量過多時,清除緩存的路徑。緩存不能過大,否則遲加入/重新連接的快照可能會變得太大。FlowFieldPathfinderSystem
: 僅信號系統。初始化和反初始化FlowFieldPathfinder
。
工具
FlowFieldMapDebug
此工具顯示用於控制器之間導航的A*圖。

FlowFieldControllerDebug
FlowFieldController
的除錯視圖。
可以顯示以下資料:
- 原始成本 - 未 應用動態修飾器的瓦片成本;
- 成本 - 已 應用動態修飾器後的瓦片成本;
- 積分 - 瓦片的積分值(僅包含最後計算的流資料,整個控制器共用一個數組);
- 流 - 瓦片指向指定目的地或傳送門的方向;
- 控制器位置 - 瓦片在控制器內的位置;
- 地圖位置 - 瓦片在地圖內的位置;


