MissionLogic

從 骑砍中文百科
於 2020年4月25日 (六) 23:50 由 Notealot對話 | 貢獻 所做的修訂 复写
(差異) ←上個修訂 | 最新修訂 (差異) | 下個修訂→ (差異)
跳到: 導覽搜尋

訪問源文檔
返回目錄

MissionLogic 是一個繼承 MissionBehaviour 的抽象類,除了幾個額外的回調外,任務邏輯還有可複寫的方法會影響任務的邏輯。

回調

  • AccelerateHorseKeyPressAnswer() - 似乎不太贊成使用這一回調函數。
  • OnBattleEnded() - 在戰鬥自然結束前玩家選擇離開時調用。
  • OnMissionResultReady(MissionResult) - 任務結束調用並且創建 MissionResult ,注意這個調用在 ShowBattleResults 前進行。
    • MissionResult - 計算的結果數據。
  • OnRetreatMission() - 玩家從任務中撤退時調用,當前,競技場和帶戰鬥的任務似乎是玩家可以撤退的。
  • ShowBattleResults() - 當任務完成並且結束倒計時啟動時調用,這在任務回調結束前調用。

複寫

  • bool IsAgentInteractionAllowed() - 調用來確定Agent是否可交互。返回true即允許交互,注意所有的任務邏輯都需要返回true才能得到正確的結果。
  • bool IsOrderShoutingAllowed() - 調用來確定是否命令語音可以使用。返回true即允許使用,注意所有的任務邏輯都需要返回true才能得到正確的結果。
  • bool MissionEnded(ref MissionResult) - 可被複寫來決定任務的結束。除了基礎檢查外每個任務Tick都會調用。返回true觸發任務結束。注意只有一個任務邏輯返回true就足夠了,這一個返回的true將決定MissionResult
    • MissionResult - MissionResult 實例用於存儲結果數據。這個參數通過 ref 關鍵字傳遞。
  • InquiryData OnEndMissionRequest(out bool) - 玩家想離開任務時調用。InquiryData能返回顯示確認框。 注意將顯示任務邏輯返回的第一個非空InquiryData,其它部分將不調用此回調。
    • bool - 決定玩家是否能離開任務。這個參數通過 out 關鍵字傳遞。如果玩家可以離開傳入true。注意當首次設置為false時將阻止玩家離開並不會再調用。