“MissionBehaviour”的版本间的差异

来自骑砍中文百科
跳转至: 导航搜索
Mission 回调
Mission 回调
第11行: 第11行:
  
 
== <big>Mission 回调</big> ==
 
== <big>Mission 回调</big> ==
 +
<big>
 
* '''OnAfterMissionCreated()''' - 在 C# 端任务创建后调用,这个回调的调用是任务行为的首个调用。但是,在任务创建之后的调用不会调用这个回调。
 
* '''OnAfterMissionCreated()''' - 在 C# 端任务创建后调用,这个回调的调用是任务行为的首个调用。但是,在任务创建之后的调用不会调用这个回调。
 
* '''OnBehaviourInitialize()''' - 任务完全创建后调用。初始化推荐使用此回调。如果任务行为(包括官方提供的)在任务创建后被添加,则应手动调用此回调。
 
* '''OnBehaviourInitialize()''' - 任务完全创建后调用。初始化推荐使用此回调。如果任务行为(包括官方提供的)在任务创建后被添加,则应手动调用此回调。
第31行: 第32行:
 
* '''HandleOnCloseMission()''' - 任务将要结束时调用。推荐复写和使用此回调。更倾向于用 '''OnEndMission''' 这类回调来处理任务结束。
 
* '''HandleOnCloseMission()''' - 任务将要结束时调用。推荐复写和使用此回调。更倾向于用 '''OnEndMission''' 这类回调来处理任务结束。
 
* '''OnEndMission()''' - 任务正在结束时调用。推荐在任务结束时使用此回调。也推荐使用这个来注销掉注册的事件。
 
* '''OnEndMission()''' - 任务正在结束时调用。推荐在任务结束时使用此回调。也推荐使用这个来注销掉注册的事件。
* '''OnRemoveBehaviour()''' - 当任务行为从任务中移除时调用。注意任务行为会在任务结束时移除,在资源清理和 '''OnEndMission''' 回调之后。
+
* '''OnRemoveBehaviour()''' - 当任务行为从任务中移除时调用。注意任务行为会在任务结束时移除,在资源清理和 '''OnEndMission''' 回调之后。</big>
  
 
== <big>Agent 回调</big> ==
 
== <big>Agent 回调</big> ==

2020年4月26日 (日) 12:50的版本

访问源文档
返回目录

任务行为(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 - 已禁用的对象。