Example #1
0
    private void Awake()
    {
        uiManager           = FindObjectOfType <UIManager>();
        polePositionManager = FindObjectOfType <PolePositionManager>();

        //Color por defecto del coche (primero de los que se pueden seleccionar)
        color.r = 245 / 255f;
        color.g = 73 / 255f;
        color.b = 93 / 255f;
        color.a = 1f;

        //Lobby callbacks
        PlayerLobby.OnIsReady  += ChangePlayerIsReady;
        PlayerLobby.OnName     += ChangePlayerName;
        PlayerLobby.OnColor    += ChangeColor;
        PlayerLobby.OnIsLeader += ChangeIsLeader;

        //Race callbacks
        SetupPlayer.OnCurrentPosition     += ChangeCurrentPosition;
        SetupPlayer.OnCurrentLap          += ChangeCurrentLap;
        SetupPlayer.OnDistanceTravelled   += ChangeDistanceTravelled;
        SetupPlayer.OnGoingBackwards      += ChangeGoingBackwards;
        SetupPlayer.OnRaceEnded           += ChangeRaceEnded;
        SetupPlayer.OnLastSafePosition    += ChangeLastSafePosition;
        SetupPlayer.OnCrashRecoverForward += ChangeCrashRecoverForward;

        RaceTimer.OnTotalTime += ChangeTotalTime;
        RaceTimer.OnLapTime   += ChangeLapTime;
    }
Example #2
0
 private void Awake()
 {
     m_PlayerInfo          = GetComponent <PlayerInfo>();
     m_PlayerController    = GetComponent <PlayerController>();
     m_PolePositionManager = FindObjectOfType <PolePositionManager>();
     m_UIManager           = FindObjectOfType <UIManager>();
 }
Example #3
0
 void GetRefs()
 {
     if (!m_PlayerInfo)
     {
         m_PlayerInfo = GetComponent <PlayerInfo>();
     }
     if (!m_PlayerController)
     {
         m_PlayerController = GetComponent <PlayerController>();
     }
     if (!m_PolePositionManager)
     {
         m_PolePositionManager = FindObjectOfType <PolePositionManager>();
     }
     if (!m_UIManager)
     {
         m_UIManager = FindObjectOfType <UIManager>();
     }
     if (!rb)
     {
         rb = GetComponent <Rigidbody>();
     }
     if (!bc)
     {
         bc = GetComponent <BoxCollider>();
     }
 }
Example #4
0
    /*
     * Añade funcionalidad a los botones de ready, not ready y start
     */
    public void SetReadyButtonsFunctions(PlayerInfo localPlayer)
    {
        readyButton.onClick.RemoveAllListeners();
        notReadyButton.onClick.RemoveAllListeners();
        startButton.onClick.RemoveAllListeners();

        if (!polePosition)
        {
            polePosition = FindObjectOfType <PolePositionManager>();
        }
        if (localPlayer.isServer)
        {
            readyButton.gameObject.SetActive(false);
            notReadyButton.gameObject.SetActive(false);
            startButton.gameObject.SetActive(true);
            startButton.onClick.AddListener(() => polePosition.StartGame());
        }
        else
        {
            readyButton.gameObject.SetActive(!localPlayer.ready);
            notReadyButton.gameObject.SetActive(localPlayer.ready);
            startButton.gameObject.SetActive(false);
            readyButton.onClick.AddListener(() => localPlayer.CmdSetReady(true));
            notReadyButton.onClick.AddListener(() => localPlayer.CmdSetReady(false));
        }
    }
Example #5
0
 public override void Awake()
 {
     if (_polePositionManager == null)
     {
         _polePositionManager = FindObjectOfType <PolePositionManager>();
     }
 }
Example #6
0
    public void StartCountdown()
    {
        countdownText       = GetComponent <Text>();
        polePositionManager = FindObjectOfType <PolePositionManager>();

        StartCoroutine(DecreaseCountdown());
    }
Example #7
0
 private void Awake()
 {
     m_PlayerInfo          = GetComponent <PlayerInfo>();
     m_PlayerController    = GetComponent <PlayerController>();
     m_NetworkManager      = FindObjectOfType <NetworkManagerPolePosition>();
     m_PolePositionManager = FindObjectOfType <PolePositionManager>();
     m_UIManager           = FindObjectOfType <UIManager>();
     debug = m_UIManager.GetDebugText();
 }
Example #8
0
 /* Awake(): establece las relaciones de esta clase con el resto de las necesarias.
  * Para ello o bien las busca en el componente o bien las busca en el proyecto.
  * También inicializa el valor de la referencia de m_MyNetworkManager con esta clase.
  */
 private void Awake()
 {
     m_PlayerInfo                     = GetComponent <PlayerInfo>();
     m_PlayerController               = GetComponent <PlayerController>();
     m_NetworkManager                 = FindObjectOfType <NetworkManager>();
     m_PolePositionManager            = FindObjectOfType <PolePositionManager>();
     m_UIManager                      = FindObjectOfType <UIManager>();
     m_MyNetworkManager               = FindObjectOfType <MyNetworkManager>();
     m_MyNetworkManager.m_SetUpPlayer = this;
 }
Example #9
0
 private void Awake()
 {
     // Se buscan las referencias del PolePositionNetworkManager y del PolePositionManager
     if (m_NetworkManager == null)
     {
         m_NetworkManager = FindObjectOfType <PolePositionNetworkManager>();
     }
     if (m_PolePositionManager == null)
     {
         m_PolePositionManager = FindObjectOfType <PolePositionManager>();
     }
 }
Example #10
0
    /*
     * Se crean las entradas del diccionario que se usarán para saber qué material se le debe asignar al coche
     * en función del color del botón pulsado y se cogen las referencias necesarias en caso de que no existan
     */

    void GetRefs()
    {
        if (!networkManager)
        {
            networkManager = FindObjectOfType <CustomNetworkManager>();
        }
        if (!mainCamera)
        {
            mainCamera = Camera.main.GetComponent <CameraController>();
        }
        if (!chat)
        {
            chat = FindObjectOfType <CustomChat>();
        }
        if (!polePosition)
        {
            polePosition = FindObjectOfType <PolePositionManager>();
        }
        if (!uiManager)
        {
            uiManager = FindObjectOfType <UIManager>();
        }
        if (!rb)
        {
            rb = GetComponent <Rigidbody>();
        }
        if (CircuitProgress == null)
        {
            CircuitProgress = new CircuitProgress();
        }
        if (colorOptions == null)
        {
            colorOptions = new Dictionary <string, Material>();
            for (int i = 0; i < colors.Length; i++)
            {
                colorOptions.Add(ColorUtility.ToHtmlStringRGB(colors[i]), materials[i]);
            }
        }
        if (renderers == null || renderers.Length == 0)
        {
            renderers = GetComponentsInChildren <Renderer>();
        }
        if (colliders == null || colliders.Length == 0)
        {
            colliders = GetComponentsInChildren <Collider>();
        }
        if (lights == null || lights.Length == 0)
        {
            lights = GetComponentsInChildren <Light>();
        }
    }
Example #11
0
    /// <summary>
    /// Método que reinicia al jugador en la misma posición que su esfera, para
    /// que pueda volver a la carrera en caso de accidente
    /// </summary>
    public void ResetPlayer()
    {
        PolePositionManager m_PolePositionManager = FindObjectOfType <PolePositionManager>();

        // Accedemos a las esferas de debug para que a la hora de resetear la posición, el coche se centre en la carretera
        Vector3 newPos = m_PolePositionManager.m_DebuggingSpheres[m_PolePositionManager.m_Players.IndexOf(m_PlayerInfo)].GetComponent <Transform>().position;

        m_Transform.position = newPos + new Vector3(0, 1, 0);

        // Reseteamos la posición del jugador haciendo que mire en la dirección en la que se desarrolla la carrera
        Vector3 newRotation = m_PolePositionManager.m_CircuitController.m_PathPos[m_PlayerInfo.CurrentSegment + 1] - m_PolePositionManager.m_CircuitController.m_PathPos[m_PlayerInfo.CurrentSegment];

        m_Transform.rotation = Quaternion.LookRotation(newRotation, new Vector3(0, 1, 0));
        OnCrashDelegate("");
    }
Example #12
0
 void GetRefs()
 {
     if (!uiManager)
     {
         uiManager = FindObjectOfType <UIManager>();
     }
     if (!polePosition)
     {
         polePosition = FindObjectOfType <PolePositionManager>();
     }
     if (!mainCamera)
     {
         mainCamera = Camera.main.gameObject.GetComponent <CameraController>();
     }
 }
Example #13
0
        private void Awake()
        {
            m_PlayerInfo         = GetComponent <PlayerInfo>();
            m_PlayerController   = GetComponent <PlayerController>();
            m_UIManager          = FindObjectOfType <UIManager>();
            _polePositionManager = FindObjectOfType <PolePositionManager>();

            // Controller for player input
            _playerInputController = GetComponent <PlayerInputController>();

            // Gets the body material to update color
            Transform carBody = transform.Find("raceCar").Find("body");

            m_BodyMaterial = carBody.GetComponent <Renderer>().materials[1];
        }
Example #14
0
    public void Start()
    {
        playerInfo          = GetComponent <PlayerInfo>();
        uIManager           = FindObjectOfType <UIManager>();
        polePositionManager = FindObjectOfType <PolePositionManager>();
        networkManager      = FindObjectOfType <NetworkManagerPolePosition>();

        //Se asigna como líder al jugador que entre primero a la partida
        //El líder puede acceder a los ajustes de la carrera e iniciar la misma
        CmdChangeIsLeader(playerInfo.isLeader);

        if (isLocalPlayer)
        {
            GetUIReferences();
        }
    }
Example #15
0
 /* Awake: inicialización de variables y referencias a otras clases
  */
 public void Awake()
 {
     m_PolePositionManager      = FindObjectOfType <PolePositionManager>();
     m_UIManager                = FindObjectOfType <UIManager>();
     m_cameraController         = FindObjectOfType <CameraController>();
     m_Rigidbody                = GetComponent <Rigidbody>();
     m_PlayerInfo               = GetComponent <PlayerInfo>();
     m_CurrentLap               = -1;
     frictionCurve              = axleInfos[0].leftWheel.sidewaysFriction;
     frictionCurve.extremumSlip = 0.3f;
     LapTime = new Stopwatch[5];
     for (int i = 0; i < 5; i++)
     {
         LapTime[i] = new Stopwatch();
     }
     numVueltas = m_PolePositionManager.numVueltas;
 }
 private void Awake()
 {
     m_NetworkManager      = FindObjectOfType <NetworkManager>();
     m_CircuitController   = FindObjectOfType <CircuitController>();
     m_polePositionManager = FindObjectOfType <PolePositionManager>();
 }