Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using ExitGames.Client.Photon;
- using Photon.Pun;
- using Photon.Realtime;
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- public class GameManager : MonoBehaviour
- {
- public static GameManager getInstance;
- void Awake() { getInstance = this; }
- void Start() { if (!PhotonNetwork.IsConnected) PhotonNetwork.LoadLevel("MainMenu"); }
- [SerializeField] GameObject playerPrefab;
- [SerializeField] Transform[] spawnPoints;
- List<GameObject> players = new List<GameObject>();
- Transform getSpawnPointRandomly() { return spawnPoints[new System.Random().Next(0, spawnPoints.Length)]; }
- public void SpawnPlayer(int actorNumber, string name, bool fromSceneLoad)
- {
- foreach (var i in players)
- {
- Player p = i.GetComponent<Player>();
- if (p.photonView.Owner.NickName == name)
- return;
- }
- GameObject go = PhotonNetwork.Instantiate(playerPrefab.name, getSpawnPointRandomly().position, getSpawnPointRandomly().rotation);
- go.GetComponent<Player>().SetUp(actorNumber, name, fromSceneLoad);
- players.Add(go);
- }
- public void UpdateSceneCam(bool active)
- {
- Camera.main.gameObject.SetActive(active);
- }
- public void PlayerLeft(int actorNumber)
- {
- foreach (var i in players)
- {
- if (i.GetComponent<Player>().getActorNumber() == actorNumber)
- {
- Destroy(i);
- return;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement