MainUpdate - NDark/KobayashiMaruCommanderOS GitHub Wiki

設計與內容

主更新 MainUpdate

參考資料

  1. Mainupdate.cs

內容

  1. 小林丸指揮官的船艦移動主要透過 Mainupdate.cs 來運作移動

示意圖

移動

  1. 移動代表船艦本身的自發性移動。
  2. 在船艦的 UnitData 的標準參數中找到引擎速度與引擎輸出這兩個參數。
    1. 前者代表的是設定資料中該船艦的最大速度。
    2. 後者代表的是該船艦油門的輸出量。
  3. 依照引擎的狀況計算出引擎的輸出效率。此處讓受損的引擎能夠表現出來。
  4. 以最大速度與引擎輸出效率計算標準速度。
  5. 以標準速度與油門輸出量計算目前速度。
  6. 檢查場景的可移動範圍確認目前速度的下一個位置是否可以移動,如果不能,就略過此次的移動。

推動

  1. 推動代表船艦被其他外力所推動。
  2. 只有引擎輸出是零的船艦才會受到推動的影響。
  3. 將 m_ForceToMoveVec 依照船艦的重量來計算推動的移動量。
  4. 移動船艦。
  5. 系統中甚麼東西會造成推動:
    1. AI_RandomMoveState 的漂移(隕石類AI)
    2. 被攻擊的推動特效 ShiftEffect
    3. 牽引光束 PullForce
    4. 一定時間的推力特效(隕石分裂時的長距離推動)

轉向

  1. 與移動類似,使用船艦的最大轉速,轉向輸出來計算標準轉向。
  2. 再以引擎效率來計算目前轉向角度。
⚠️ **GitHub.com Fallback** ⚠️