/// <summary> /// Move around while player has not been detected /// </summary> public override IEnumerator Seek() { // Detect in player is in range while (!aerial.Detected()) { // Meander around -- Implement yield return(null); } aerial.SwitchState(Aerial.State.ATTACK); yield break; }
/// <summary> /// Bat dive bombs the player /// </summary> public override IEnumerator Attack() { Vector3 end = playerPos.position; yield return(new WaitForSeconds(graceTime)); // Fly towards player location while (transform.position != end) { transform.position = Vector3.MoveTowards(transform.position, end, speed * Time.deltaTime); yield return(null); } aerial.SwitchState(Aerial.State.SEEK); yield break; }