void Update() { if (Input.GetButtonDown("Red")) { cameraPos.position = Vector3.Lerp(cameraPos.position, redPos.position, 10); Yellow.GetComponent <YellowController>().yellowInPlay = false; Green.GetComponent <GreenController>().greenInPlay = false; Blue.GetComponent <BlueController>().blueInPlay = false; Red.GetComponent <RedController>().redInPlay = true; } if (Input.GetButtonDown("Yellow")) { cameraPos.position = Vector3.Lerp(cameraPos.position, yellowPos.position, 10); Yellow.GetComponent <YellowController>().yellowInPlay = true; Green.GetComponent <GreenController>().greenInPlay = false; Blue.GetComponent <BlueController>().blueInPlay = false; Red.GetComponent <RedController>().redInPlay = false; } if (Input.GetButtonDown("Green")) { cameraPos.position = Vector3.Lerp(cameraPos.position, greenPos.position, 10); Yellow.GetComponent <YellowController>().yellowInPlay = false; Green.GetComponent <GreenController>().greenInPlay = true; Blue.GetComponent <BlueController>().blueInPlay = false; Red.GetComponent <RedController>().redInPlay = false; } if (Input.GetButtonDown("Blue")) { cameraPos.position = Vector3.Lerp(cameraPos.position, bluePos.position, 10); Yellow.GetComponent <YellowController>().yellowInPlay = false; Green.GetComponent <GreenController>().greenInPlay = false; Blue.GetComponent <BlueController>().blueInPlay = true; Red.GetComponent <RedController>().redInPlay = false; } if (Input.GetKeyDown(KeyCode.R)) { SceneManager.LoadScene("SampleScene"); } }
/// <summary> /// Verbindungen herstellen /// /// Die GameObjects, die die drei Leuchten der Ampel /// ausgeben werden als eine Hierarchie erwartet. /// Die Wurzel heißt "Ampel", und die drei Leuchten /// wie zu erwarten "Rot", "Gelb" und "Grün". Sie werden /// mit <code>GameObject.Find</code> mit ihrem Namen, z.b. /// "Ampel/Rot", abgefragt. /// </summary> private void Awake() { // Das Subject erzeugen und die View-Klasse registrieren Model = new TrafficLight(TimeForStop, TimeForWait, TimeForGo, TimeForAttention, StateStop.Instance, LogOutput); Model.Attach(this); // Wir suchen nach GameObjects mit den Namen // Rot, Gelb, Grün, die Kinder des GameObjects // mit dem Namen Ampel. Red = GameObject.Find("Ampel/Rot"); Yellow = GameObject.Find("Ampel/Gelb"); Green = GameObject.Find("Ampel/Grün"); // Materialkomponenten dieser GameObjects abfragen RedMaterial = Red.GetComponent <Renderer>().material; YellowMaterial = Yellow.GetComponent <Renderer>().material; GreenMaterial = Green.GetComponent <Renderer>().material; // Materialien aus den Resourcen laden TrafficColors(); }