I am trying to instantiate objects in my scene, but they're being instantiated more than once, which is causing the game to break...
If someone can help me pinpoint the problem, here is the code: (this script is added to an empty game object in the hierarchy/scene called 'Game Manager')
Thank you
If someone can help me pinpoint the problem, here is the code: (this script is added to an empty game object in the hierarchy/scene called 'Game Manager')
void Start() { amountOfValves = 10; rageLevel = 0; valvesClosed = 0; PV = PhotonView.Get(this); if (!PhotonNetwork.IsConnected) { SceneManager.LoadScene(0); return; } if (PhotonNetwork.IsMasterClient) { Player[] players = PhotonNetwork.PlayerList; for (int i = 0; i < players.Length; i++) { PV.RPC("spawnPlayer", players[i], GameController.instance.spawnPoints[i].position, GameController.instance.spawnPoints[i].rotation); } StartCoroutine(waitForSeconds()); } } IEnumerator waitForSeconds() { yield return new WaitForSeconds(10); // (if all players inside scene, done with timer for now) speaker.SetActive(true); PV.RPC("doorProperties", RpcTarget.All); PV.RPC("spawnGhost", RpcTarget.All); for (int i = 0; i < amountOfValves; i++) { PV.RPC("spawnValves", RpcTarget.All); } } [PunRPC] void doorProperties() { lockedDoor.GetComponent<Animator>().Play("Idle"); lockedDoor.tag = "Door"; } [PunRPC] void spawnGhost() { PhotonNetwork.Instantiate("Ghost", ghostSpawnPos.transform.position, Quaternion.identity); } [PunRPC] void spawnPlayer(Vector3 spawnPos, Quaternion spawnRot) { PhotonNetwork.Instantiate(prefabName, spawnPos, spawnRot); } [PunRPC] void spawnValves() { int _randomValve = Random.Range(0, valveSpawners.Count); var newValve = PhotonNetwork.Instantiate("SteamValve", valveSpawners[_randomValve].transform.position, valveSpawners[_randomValve].transform.rotation); newValve.transform.parent = valveSpawners[_randomValve].gameObject.transform; newValve.transform.localRotation = Quaternion.Euler(0, -90, -180); valveSpawners.RemoveAt(_randomValve); }
Thank you