Version:

Simple State 组件

Simple State组件提供了一个简单的状态机。每个状态由一个名称和一个包含零个或多个实体的数组表示。实体在进入状态时被激活,在退出状态时被停用。简单状态组件可能处于NullState,即没有激活状态。

提供方

O3DE Core (LmbrCentral) Gem

Simple State 属性

Simple State component properties

属性名称默认值
Initial stateSimple State组件首次激活时的活动状态。<None> or state Name<None>
Reset on activate如果启用,Simple State组件会在激活时返回Initial state,而不是停用前的状态。BooleanEnabled
States状态数组。
States - Name定义状态的名称。StringNew State
States - Entities与状态相关联的实体数组。EntityIdNone

SimpleStateComponentRequestBus

请求名称说明参数返回值可脚本化
GetCurrentState返回当前状态的NameNoneState: StringYes
GetNumStates返回状态总数。NoneCount: IntegerYes
SetState根据Name将组件设置为特定状态。State: StringNoneYes
SetStateByIndex根据组件在 States 数组中的索引,将组件设置为特定状态。State Index: IntegerNoneYes
SetToFirstState将组件设置为 State[0],即 States 数组中的第一个状态。NoneNoneYes
SetToLastState将组件设置为 States 数组中的最后一个状态。NoneNoneYes
SetToNextState将组件设置为 States 数组中的下一个状态。NoneNoneYes
SetToPreviousState将组件设置为 States 数组中的前一个状态。NoneNoneYes

SimpleStateComponentNotificationBus

通知名称说明参数返回值可脚本化
OnStateChanged通知侦听器状态已更改。NoneOld State: String, New State: StringYes

更多信息,请参阅 使用事件总线 (EBus) 系统