Unitselectionsystem - NDark/KobayashiMaruCommanderOS GitHub Wiki

功能清單

單位的瞄準系統

說明

目前只有主角在用

參考資料

  1. UnitSelectionSystem
  2. UnitData介面創造

內容

  1. 本瞄準系統主要是紀錄目前的瞄準資訊
    1. 目前主要瞄準框為 GUI_Selection00
    2. 其他瞄準框為特殊攻擊模式使用
  2. 點選瞄準的流程如下
    1. 點選物件 : 檢查滑鼠單擊 觸發 掛在物件下cube的 script: ClickOnThisCollider.cs
    2. 因為只有主角(玩家)可以點擊
      所以此瞄準系統必定是找主角物件的瞄準系統
      呼叫 主角的瞄準系統 紀錄點擊物件 UnitSelectionSystem::ClickOnUnit()
      判斷後 呼叫 函式 ActiveSelectInformation() 啟動/關閉瞄準框
    3. 因為畫面上要顯示玩家的瞄準狀態,所以GUIUpdate會去找主角物件的瞄準系統來顯示
    4. 如果未來AI也要瞄準,則AI腳本會自己找自己的瞄準系統.
  3. 目前只有主角有瞄準系統
  4. 當取消點選目標時,會順帶通知GUIUpdate摧毀目標的UnitDataGUI
  5. 檢查點選單位 ClickOnUnit()
    1. 自己不點選
    2. 目前只有一個選擇框
    3. 判定是要切換對象還是開啟關閉
    4. 通知 TutorialEvent 點選測試完畢
  6. ActiveSelectInformation() 啟動瞄準指定物件
    1. 啟動對象的武器範圍
    2. 呼叫 GUIUpdate 創造或摧毀選擇物件的 UnitDataGUI
    3. 關閉顯示 UnitDataGUI 部位瞄準的顯示
  7. GetSelectUnitName() 取得目前主要瞄準單位名稱
  8. GetPrimarySelectInfo() 取得目前主要瞄準資訊
  9. SetPrimarySelectInfo() 設定目前主要瞄準資訊
  10. ClickOnUnit() 紀錄點擊物件
  11. ClearUnitComponent() 清除部位資訊
  12. SpecifiedUnitComponent() 指定部位資訊
  13. 更新
    1. 如果瞄準部位下線,則立即關閉部位資訊
  14. 檢查點選教學

瞄準框資訊 SelectInformation

  1. 啟動與否
  2. 啟動時間
  3. 螢幕座標
  4. m_TargetUnit 瞄準單位
  5. m_TargetComponentName 瞄準部件名稱
⚠️ **GitHub.com Fallback** ⚠️