using System.Collections; using System.Collections.Generic; using UnityEngine; [CreateAssetMenu(menuName = "Finite State Machine/Condition/On Damage Taken")] public class OnDamageTaken : Condition { [SerializeField] private float distance; protected override bool Test(FiniteStateMachine fsm) { if (!fsm.monoDictionary.HasKey("hp")) fsm.monoDictionary.SetValue("hp", fsm.GetComponent<Health>()); if(Vector3.Distance(fsm.transform.position, fsm.target.transform.position) < distance && (fsm.monoDictionary.GetValue("hp") as Health).gotHit) { (fsm.monoDictionary.GetValue("hp") as Health).gotHit = false; return true; } return false; } }