Newer
Older
Dreamsturbia-Project-IADE-Unity3D / Assets / Scripts / AI / Navmesh / Conditions / OnDamageTaken.cs
@Rackday Rackday on 21 Aug 726 bytes Project Added
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;
    }
    
}