using System.Collections; using System.Collections.Generic; using UnityEngine; public class DragonState2 : StateMachineBehaviour{ Transform player; bool alreadyAtacked; float randomTime; int randomAttack; // OnStateEnter is called when a transition starts and the state machine starts to evaluate this state override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex){ player = FindObjectOfType().GetComponent(); alreadyAtacked = false; randomTime = Random.Range(1f, 3f); randomAttack = Mathf.RoundToInt(Random.Range(550f, 2450f) / 1000f); } // OnStateUpdate is called on each Update frame between OnStateEnter and OnStateExit callbacks override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex){ randomTime = randomTime - (1 * Time.fixedDeltaTime); if (randomTime <= 0 && !alreadyAtacked){ if(randomAttack == 1){ animator.SetTrigger("FireBallAttack"); alreadyAtacked = true; }else if(randomAttack == 2){ animator.SetTrigger("FireAttack"); alreadyAtacked = true; } } } // OnStateExit is called when a transition ends and the state machine finishes evaluating this state override public void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex){ animator.ResetTrigger("FireBallAttack"); } }