「MissionBehaviour」修訂間的差異

從 骑砍中文百科
跳到: 導覽搜尋
其它
Mission 回调
行 11: 行 11:
  
 
== <big>Mission 回调</big> ==
 
== <big>Mission 回调</big> ==
 +
* '''OnAfterMissionCreated()''' - 在 C# 端任务创建后调用,这个回调的调用是任务行为的首个调用。但是,在任务创建之后的调用不会调用这个回调。
 +
* '''OnBehaviourInitialize()''' - 任务完全创建后调用。初始化推荐使用此回调。如果任务行为(包括官方提供的)在任务创建后被添加,则应手动调用此回调。
 +
* '''OnCreated()''' - 每当任务行为被添加到任务中时被调用。
 +
* '''EarlyStart()''' - 任务开始时调用,在 '''AfterStart''' 回调之前。
 +
* '''AfterStart()''' - 任务开始时调用。
 +
* '''OnRenderingStarted()''' - 场景开始渲染时调用。
 +
* '''OnPreMissionTick(float)''' - 引擎端Tick开始时调用。
 +
** '''float''' - 距离上次Tick的时间。
 +
* '''OnPreDisplayMissionTick(float)''' - 在任务Tick开始时调用。注意这在 agents 和 teams 开始Tick之前调用,同时也在 '''OnMissionTick''' 之前调用。
 +
** '''float''' - 距离上次Tick的时间。
 +
* '''OnMissionTick(float)''' - 每帧调用。
 +
** '''float''' - 距离上次Tick的时间。
 +
* '''OnMissionActivate()''' - 当一个停用的任务激活时调用。
 +
* '''OnMissionDeactivate()''' - 当一个任务停用时调用。
 +
* '''OnMissionModeChange(MissionMode, bool)''' - 当任务模式改变时调用。
 +
** '''MissionMode''' - 旧模式。
 +
** '''bool''' - True 代表是任务开始的时刻。
 +
* '''OnClearScene()''' - 场景被清理时调用。注意这是在 OnRemove 和 OnDelete 的场景中所有调用的Agents之后调用的。推荐使用此回调用于任务结束时的调用。
 +
* '''HandleOnCloseMission()''' - 任务将要结束时调用。推荐复写和使用此回调。更倾向于用 '''OnEndMission''' 这类回调来处理任务结束。
 +
* '''OnEndMission()''' - 任务正在结束时调用。推荐在任务结束时使用此回调。也推荐使用这个来注销掉注册的事件。
 +
* '''OnRemoveBehaviour()''' - 当任务行为从任务中移除时调用。注意任务行为会在任务结束时移除,在资源清理和 '''OnEndMission''' 回调之后。
 +
 
== <big>Agent 回调</big> ==
 
== <big>Agent 回调</big> ==
 
== <big>其它</big> ==
 
== <big>其它</big> ==

於 2020年4月26日 (日) 12:49 的修訂

訪問源文檔
返回目錄

任務行為(Mission Behaviours)被用來控制 Mission,可以做任何事,從生成 Agent 到添加任務邊界,一個任務可以有任何數量的任務行為。
MissionLogicMissionViews 都是任務行為的一種(繼承自 MissionBehaviour)。

屬性

  • BehaviourType - 任務行為的類型,目前可以是 Logic 或 Other。 MissionLogic 實例是 Logic,對於其它任務行為建議使用 Other 。
  • DebugInput - IInputContext 實例用於調試。注意正式發行版這實例可能不會工作。
  • Mission - 任務行為的 Mission。如果將相同的任務行為實例添加到多個任務,則此屬性將保存最後一個任務。請注意,除非您知道自己在做什麼,否則不建議在多個任務中使用相同的任務行為實例。

Mission 回調

  • OnAfterMissionCreated() - 在 C# 端任務創建後調用,這個回調的調用是任務行為的首個調用。但是,在任務創建之後的調用不會調用這個回調。
  • OnBehaviourInitialize() - 任務完全創建後調用。初始化推薦使用此回調。如果任務行為(包括官方提供的)在任務創建後被添加,則應手動調用此回調。
  • OnCreated() - 每當任務行為被添加到任務中時被調用。
  • EarlyStart() - 任務開始時調用,在 AfterStart 回調之前。
  • AfterStart() - 任務開始時調用。
  • OnRenderingStarted() - 場景開始渲染時調用。
  • OnPreMissionTick(float) - 引擎端Tick開始時調用。
    • float - 距離上次Tick的時間。
  • OnPreDisplayMissionTick(float) - 在任務Tick開始時調用。注意這在 agents 和 teams 開始Tick之前調用,同時也在 OnMissionTick 之前調用。
    • float - 距離上次Tick的時間。
  • OnMissionTick(float) - 每幀調用。
    • float - 距離上次Tick的時間。
  • OnMissionActivate() - 當一個停用的任務激活時調用。
  • OnMissionDeactivate() - 當一個任務停用時調用。
  • OnMissionModeChange(MissionMode, bool) - 當任務模式改變時調用。
    • MissionMode - 舊模式。
    • bool - True 代表是任務開始的時刻。
  • OnClearScene() - 場景被清理時調用。注意這是在 OnRemove 和 OnDelete 的場景中所有調用的Agents之後調用的。推薦使用此回調用於任務結束時的調用。
  • HandleOnCloseMission() - 任務將要結束時調用。推薦複寫和使用此回調。更傾向於用 OnEndMission 這類回調來處理任務結束。
  • OnEndMission() - 任務正在結束時調用。推薦在任務結束時使用此回調。也推薦使用這個來註銷掉註冊的事件。
  • OnRemoveBehaviour() - 當任務行為從任務中移除時調用。注意任務行為會在任務結束時移除,在資源清理和 OnEndMission 回調之後。

Agent 回調

其它

  • OnAddTeam(Team) - 當一個編隊被加入任務時調用。在 AfterAddTeam 前調用。
    • Team - 已添加的編隊。
  • AfterAddTeam(Team) - 當一個編隊被加入任務後調用。
    • Team - 已添加的編隊。
  • OnFormationUnitsSpawned(Team) - 當一個陣型的單位生成後調用。
    • Team - 陣型屬於的編隊。
  • OnObjectDisabled(DestructableComponent) - 當對象被禁用時調用,當前似乎在可銷毀對象被銷毀時被調用。
    • DestructableComponent - 已禁用的對象。