gold_sprint_lpr/Assets/Scripts/GameScene/HUDManager.cs
2018-03-14 23:41:13 +01:00

66 lines
1.7 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class HUDManager : MonoBehaviour {
public Text[] tachometers;
public Text[] maxSpeeds;
public HUDProgress[] progressions;
public Text[] distances;
[SerializeField]
private GameObject[] _messages;
public GameObject[] Messages {get {return _messages;} }
public GameObject loadingScreens;
public float[] maxSpeedsValues = new float[2];
GameManager gm;
void Awake() {
gm = GameManager.Instance;
gm.RegisterHUD(this);
}
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
UpdateSpeeds(0);
UpdateProgress(0);
UpdateDistance(0);
}
void UpdateDistance(int bikeID) {
distances[bikeID].text = gm.GetBikeManager(bikeID).GetDistance().ToString("#0") + "m";
}
void UpdateProgress(int bikeID) {
progressions[bikeID].SetProgress(gm.GetBikeManager(bikeID).GetProgress());
}
void UpdateSpeeds(int bikeID) {
float s = gm.GetBikeManager(bikeID).Speed;
if (s > maxSpeedsValues[bikeID])
maxSpeedsValues[bikeID] = s;
tachometers[bikeID].text = (s * 3.6f).ToString("#0.0") + "km/h";
maxSpeeds[bikeID].text = "Max : " + (maxSpeedsValues[bikeID] * 3.6f).ToString("#0.0");
}
public void SetMessageActive(bool status) {
Messages[0].SetActive(status);
// Messages[1].SetActive(status);
}
public void SetMessage(string message) {
Messages[0].GetComponent<Text>().text = message;
// Messages[1].GetComponent<Text>().text = message;
}
}