Ten skrypt powinien zmieniać w grze aktywną kamerę przy naciśnięciu klawiszy "1" lub "2", jednak nic się nie dzieje. Proszę o pomoc.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CameraControl : MonoBehaviour
{
public GameObject Camera1;
public GameObject Camera2;
public GameObject Control1;
public GameObject Control2;
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
if (Input.GetKeyDown(KeyCode.Alpha1))
{
StartCoroutine(ViewOne());
}
if (Input.GetKeyDown(KeyCode.Alpha2))
{
StartCoroutine(ViewTwo());
}
}
string ViewOne()
{
Camera1.SetActive(true); //aktywujemy pierwszą kamerę
Camera2.SetActive(false); //dezaktywujemy drugą kamerę
Control1.GetComponent<PlayerControler>().enabled = true; //aktywujemy w pierwszej postaci (chyba to jest postać) komponent PlayerControler
Camera1.GetComponent<AudioListener>().enabled = true; //aktywujemy w pierwszej kamerze audiolistener
Camera2.GetComponent<AudioListener>().enabled = false; //dezaktywujemy w drugiej kamerze audiolistener
Control2.GetComponent<RigidbodyControler>().enabled = false; //dezaktywujemy w drugiej postaci komponent RigidbodyControler
return "string";
}
string ViewTwo()
{
if (!Control1.GetComponent<CharacterController>().isGrounded) { return "string"; } //jeżeli pierwsza postać nie jest na ziemi to tutaj kończymy wykonywanie funkcji
Camera2.SetActive(true); //aktywujemy drugą kamerę
Camera1.SetActive(false); //dezaktywujemy pierwszą kamerę
Control1.GetComponent<PlayerControler>().enabled = false; //dezaktywujemy w pierwszej postaci komponent PlayerControler
Camera1.GetComponent<AudioListener>().enabled = false; //dezaktywujemy w pierwszej kamerze audiolistener
Camera2.GetComponent<AudioListener>().enabled = true; //aktywujemy w drugiej kamerze audiolistener
Control2.GetComponent<RigidbodyControler>().enabled = true; //aktywujemy w drugiej postaci komponent RigidbodyControler
return "string";
}
}
StartCoroutine() pobiera argument typu string, kompilator wyrzucał błędy i żądał by funkcja coś zwracała, nie wiedziałem jak temu zaradzić, więc wpisałem na koniec funkcji return "string:"