// 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) { loaded = true; animator.ResetTrigger("EngageAnimation"); SeekerBot script = animator.GetComponent <SeekerBot>(); script.ActivateSeek(); }
// 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) { timer = 0.0f; animator.ResetTrigger("DisengageAnimation"); SeekerBot script = animator.GetComponent <SeekerBot>(); script.ActivateLeave(); }
// 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) { timer = 0.0f; animator.ResetTrigger("WanderAnimation"); SeekerBot script = animator.GetComponent <SeekerBot>(); script.targetObject = GameObject.FindGameObjectWithTag("WanderPing"); script.ActivateWander(); }
//OnStateUpdate is called on each Update frame between OnStateEnter and OnStateExit callbacks override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { timer += Time.deltaTime; SeekerBot script = animator.GetComponent <SeekerBot>(); if (script.TargetIsVisible()) { animator.SetTrigger("EngageAnimation"); } }
void OnSceneGUI() { SeekerBot fov = (SeekerBot)target; Handles.color = Color.white; Handles.DrawWireArc(fov.transform.position, Vector3.up, Vector3.forward, 360, fov.viewRadius); Handles.color = Color.red; Handles.DrawWireArc(fov.transform.position, Vector3.up, Vector3.forward, 360, fov.viewRadius / 3); Vector3 viewAngleA = fov.DirFromAngle(-fov.viewAngle / 2, false); Vector3 viewAngleB = fov.DirFromAngle(fov.viewAngle / 2, false); Handles.DrawLine(fov.transform.position, fov.transform.position + viewAngleA * fov.viewRadius); Handles.DrawLine(fov.transform.position, fov.transform.position + viewAngleB * fov.viewRadius); }
// OnStateUpdate is called on each Update frame between OnStateEnter and OnStateExit callbacks override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { SeekerBot script = animator.GetComponent <SeekerBot>(); if (script.Attack() && loaded) { FindObjectOfType <KinematicInput>().HealthChange(10); loaded = false; animator.SetTrigger("DisengageAnimation"); } else if (!script.TargetIsVisible()) { animator.SetTrigger("WanderAnimation"); } }