using System.Collections; using UnityEngine; [CreateAssetMenu(menuName = "Finite State Machine/Action/Others/DrawGun")] public class DrawGun : Action { [SerializeField] private string animName; public override void Execute(FSM fsm) { Animator anim = fsm.Controller.Animator; anim.SetTrigger("DrawGun"); AnimationClip currentClip = AnimTool.GetCurrentAnimClip(animName, anim.GetCurrentAnimatorClipInfo(1)); fsm.StartCoroutine(WaitForAnimation(anim, currentClip.length)); Debug.Log("PULL OUT THE GUN!"); } public IEnumerator WaitForAnimation(Animator anim, float duration) { anim.SetLayerWeight(1, 1f); yield return new WaitForSeconds(duration); anim.SetLayerWeight(1, 0f); anim.SetBool("InCombat", true); } }