31 lines
1.2 KiB
C#
31 lines
1.2 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
public class DragonState3 : StateMachineBehaviour{
|
|
|
|
Transform player;
|
|
bool alreadyAtacked;
|
|
float randomTime;
|
|
|
|
// 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<PlayerController>().GetComponent<Transform>();
|
|
alreadyAtacked = false;
|
|
randomTime = Random.Range(.5f, 2f);
|
|
}
|
|
|
|
// 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){
|
|
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("FireAttack");
|
|
}
|
|
}
|