Spectating

This commit is contained in:
magn9775
2024-04-25 14:57:48 +02:00
parent f0d6d419cd
commit 63abb7e638
7 changed files with 1508 additions and 1079 deletions

View File

@@ -13,49 +13,42 @@ public class GameController :MonoBehaviour
[SerializeField] UnityEngine.UI.Button NextCarButton;
public static GameController Instance;
public GameObject PlayerCar;
public GameObject cam;
public static bool RaceIsStarted { get { return true; } }
public static bool RaceIsEnded { get { return false; } }
PlayerController m_PlayerCar;
List<PlayerController> Cars = new List<PlayerController>();
//PlayerController m_PlayerCar;
//List<PlayerController> Cars = new List<PlayerController>();
public List<GameObject> cars;
int CurrentCarIndex = 0;
protected virtual void Awake ()
{
Instance = this;
//Find all cars in current game.
Cars.AddRange (GameObject.FindObjectsOfType<PlayerController> ());
Cars = Cars.OrderBy (c => c.name).ToList();
// foreach (var car in cars)
// {
// var userControl = car.GetComponent<PlayerController>();
// var audioListener = car.GetComponent<AudioListener>();
foreach (var car in Cars)
{
var userControl = car.GetComponent<PlayerController>();
var audioListener = car.GetComponent<AudioListener>();
// if (userControl == null)
// {
// userControl = car.gameObject.AddComponent<PlayerController> ();
// }
if (userControl == null)
{
userControl = car.gameObject.AddComponent<PlayerController> ();
}
// if (audioListener == null)
// {
// audioListener = car.gameObject.AddComponent<AudioListener> ();
// }
if (audioListener == null)
{
audioListener = car.gameObject.AddComponent<AudioListener> ();
}
// userControl.enabled = false;
// audioListener.enabled = false;
// }
userControl.enabled = false;
audioListener.enabled = false;
}
m_PlayerCar = Cars[0];
m_PlayerCar.GetComponent<PlayerController> ().enabled = true;
m_PlayerCar.GetComponent<AudioListener> ().enabled = true;
if (NextCarButton)
{
NextCarButton.onClick.AddListener (NextCar);
}
// cars[CurrentCarIndex].GetComponent<PlayerController>().enabled = true;
// cars[CurrentCarIndex].GetComponent<AudioListener>().enabled = true;
}
void Update ()
@@ -69,14 +62,20 @@ public class GameController :MonoBehaviour
private void NextCar ()
{
m_PlayerCar.GetComponent<PlayerController> ().enabled = false;
m_PlayerCar.GetComponent<AudioListener> ().enabled = false;
// cars[CurrentCarIndex].GetComponent<PlayerController> ().enabled = false;
// cars[CurrentCarIndex].GetComponent<AudioListener> ().enabled = false;
CurrentCarIndex = LoopClamp (CurrentCarIndex + 1, 0, Cars.Count);
CurrentCarIndex = LoopClamp (CurrentCarIndex + 1, 0, cars.Count);
m_PlayerCar = Cars[CurrentCarIndex];
m_PlayerCar.GetComponent<PlayerController> ().enabled = true;
m_PlayerCar.GetComponent<AudioListener> ().enabled = true;
// cars[CurrentCarIndex].GetComponent<PlayerController>().enabled = true;
// cars[CurrentCarIndex].GetComponent<AudioListener>().enabled = true;
PlayerCar = cars[CurrentCarIndex];
cam.GetComponent<CameraControl>().getCar(PlayerCar);
print(PlayerCar.name);
}
public static int LoopClamp (int value, int minValue, int maxValue)