您最多选择25个主题
主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
32 行
1.1 KiB
32 行
1.1 KiB
using GameplayIngredients.StateMachines;
|
|
using UnityEngine;
|
|
|
|
namespace GameplayIngredients.Logic
|
|
{
|
|
[AddComponentMenu(ComponentMenu.stateMachinePath + "State Logic")]
|
|
[Callable("State Machines", "Logic/ic-generic-logic.png")]
|
|
public class StateLogic : LogicBase
|
|
{
|
|
[NonNullCheck]
|
|
public StateMachine StateMachine;
|
|
[NonNullCheck]
|
|
public State TargetState;
|
|
|
|
public Callable[] IfCurrentState;
|
|
public Callable[] IfNotCurrentState;
|
|
|
|
public override void Execute(GameObject instigator = null)
|
|
{
|
|
if (StateMachine?.CurrentState == TargetState && IfCurrentState != null && IfCurrentState.Length > 0)
|
|
Call(IfCurrentState, instigator);
|
|
else if (StateMachine?.CurrentState != TargetState && IfNotCurrentState != null && IfNotCurrentState.Length > 0)
|
|
Call(IfNotCurrentState, instigator);
|
|
}
|
|
|
|
public override string GetDefaultName()
|
|
{
|
|
return $"On State Machine '{StateMachine?.gameObject.name}' state: '{TargetState?.gameObject.name}'";
|
|
}
|
|
}
|
|
}
|
|
|