using System; using Colosseum.Enemy; using Unity.Behavior; using Unity.Properties; using UnityEngine; using Action = Unity.Behavior.Action; /// /// 마지막 대형/징벌 패턴 이후 기본 루프 누적 횟수를 증가시킵니다. /// [Serializable, GeneratePropertyBag] [NodeDescription( name: "Increment Basic Loop Count", story: "기본 루프 누적 횟수를 [Count]만큼 증가", category: "Action", id: "fd1dc402-c0d7-4cf7-a97f-79d999c36f8d")] public partial class IncrementBasicLoopCountAction : Action { [SerializeReference] [Tooltip("증가시킬 기본 루프 횟수")] public BlackboardVariable Count = new BlackboardVariable(1); protected override Status OnStart() { BossBehaviorRuntimeState runtimeState = GameObject.GetComponent(); if (runtimeState == null) return Status.Failure; int appliedCount = Mathf.Max(0, Count?.Value ?? 0); runtimeState.IncrementBasicLoopCount(appliedCount); runtimeState.LogDebug(nameof(IncrementBasicLoopCountAction), $"기본 루프 누적 증가: +{appliedCount} => {runtimeState.BasicLoopCountSinceLastBigPattern}"); return Status.Success; } }