-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathBirdMovementController.cs
70 lines (55 loc) · 2.15 KB
/
BirdMovementController.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class BirdMovementController : MonoBehaviour
{
[HideInInspector] public Transform myTransform;
[HideInInspector] public CharacterController charController;
private BirdAnimatorController animatorController;
public Transform lookAt;
public Vector3 direction; // Vector de la dirección
public BoolReference canMove; // Si es false, el jugador no se moverá
public BoolReference canRotate; // Si es false, el jugador no rotará
public FloatReference inputV; // Tecla de avance recto
//public FloatReference runSpeed; // Velocidad actual en el modo Run
//public FloatReference flySpeed; // Velocidad actual en el modo Fly
public bool auto; // Modo automático (aceleración automática)
public AudioSource playerAudio; // Fuente de audio del jugador
public AudioClip[] movementSounds; // Sonidos de movimiento del jugador
private FlyMovement flyMovement;
void Awake()
{
direction = Vector3.zero;
myTransform = transform;
charController = GetComponent<CharacterController>();
animatorController = GetComponent<BirdAnimatorController>();
flyMovement = GetComponent<FlyMovement>();
}
// Use this for initialization
void Start()
{
SwitchToFly();
}
// Update is called once per frame
void Update()
{
flyMovement.Move();
}
void OnControllerColliderHit(ControllerColliderHit hit)
{
flyMovement.HandleCollide();
//transform.parent.GetComponent<AgentePajaroControlador>().AddReward(-0.5f);
transform.parent.GetComponent<BirdAgentController>().AddReward(-100);
transform.parent.GetComponent<BirdAgentController>().Reset();
}
public void SwitchToFly()
{
FastCentre();
animatorController.SwitchToFly();
}
public void FastCentre()
{
transform.rotation = lookAt.rotation;
}
}