Summoner
This commit is contained in:
33
Assets/AI/_Summoner/DEC_ShouldFleeToSafeDistance.cs
Normal file
33
Assets/AI/_Summoner/DEC_ShouldFleeToSafeDistance.cs
Normal file
@@ -0,0 +1,33 @@
|
||||
using Invector.vCharacterController.AI.FSMBehaviour;
|
||||
using UnityEngine;
|
||||
|
||||
namespace DemonBoss.Summoner
|
||||
{
|
||||
/// <summary>
|
||||
/// FSM Decision: should Summoner flee to reach safe distance
|
||||
/// </summary>
|
||||
[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<SummonerAI>();
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user