using System; using Unity.Behavior; using UnityEngine; using Action = Unity.Behavior.Action; using Unity.Properties; [Serializable, GeneratePropertyBag] [NodeDescription(name: "Wait", story: "대기", category: "Action", id: "73b84bd4bc0eb61c998ac84c9853a69d")] public partial class WaitAction : Action { [SerializeReference] public BlackboardVariable Duration = new BlackboardVariable(1f); private float startTime; protected override Status OnStart() { startTime = Time.time; return Status.Running; } protected override Status OnUpdate() { if (Time.time - startTime >= Duration.Value) { return Status.Success; } return Status.Running; } }