using System.Collections; using System.Collections.Generic; using UnityEngine; [CreateAssetMenu(menuName = "AI/Condiction/CanAirAttack")] public class OnAirRangeCondition : Condiction { [SerializeField] private bool negation; [SerializeField] private float viewAngle; [SerializeField] private float viewDistance; public override bool Test(FiniteStateMachine fsm) { Vector3 direction = fsm.GetTarget().transform.position - fsm.transform.position; float distance = direction.magnitude; float angle = Vector3.Angle(direction.normalized, fsm.transform.forward); if ((angle < viewAngle) && (distance < viewDistance)) { return !negation; } else { return negation; } } }