using Invector.vCharacterController.AI.FSMBehaviour; using UnityEngine; namespace DemonBoss.Summoner { /// /// FSM Decision: should Summoner flee to reach safe distance /// [CreateAssetMenu(menuName = "Invector/FSM/Decisions/Summoner/Should Flee To Safe Distance")] public class DEC_ShouldFleeToSafeDistance : vStateDecision { public override string categoryName => "Summoner"; public override string defaultName => "Should Flee To Safe Distance"; [Header("Debug")] [Tooltip("Enable debug logging")] public bool enableDebug = false; public override bool Decide(vIFSMBehaviourController fsmBehaviour) { var summoner = fsmBehaviour.gameObject.GetComponent(); if (summoner == null) { if (enableDebug) Debug.LogWarning("[DEC_ShouldFleeToSafeDistance] No SummonerAI component found!"); return false; } bool shouldFlee = summoner.ShouldFleeToSafeDistance(); if (enableDebug) Debug.Log($"[DEC_ShouldFleeToSafeDistance] shouldFlee={shouldFlee}"); return shouldFlee; } } }