Advertisement
Guest User

Untitled

a guest
Apr 8th, 2019
166
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.53 KB | None | 0 0
  1. using ExitGames.Client.Photon;
  2. using Photon.Pun;
  3. using Photon.Realtime;
  4. using System.Collections;
  5. using System.Collections.Generic;
  6. using UnityEngine;
  7.  
  8. public class GameManager : MonoBehaviour
  9. {
  10.     public static GameManager getInstance;
  11.     void Awake() { getInstance = this; }
  12.     void Start() { if (!PhotonNetwork.IsConnected) PhotonNetwork.LoadLevel("MainMenu"); }
  13.  
  14.     [SerializeField] GameObject playerPrefab;
  15.     [SerializeField] Transform[] spawnPoints;
  16.    
  17.     List<GameObject> players = new List<GameObject>();
  18.  
  19.     Transform getSpawnPointRandomly() { return spawnPoints[new System.Random().Next(0, spawnPoints.Length)]; }
  20.     public void SpawnPlayer(int actorNumber, string name, bool fromSceneLoad)
  21.     {
  22.         foreach (var i in players)
  23.         {
  24.             Player p = i.GetComponent<Player>();
  25.  
  26.             if (p.photonView.Owner.NickName == name)
  27.                 return;
  28.         }
  29.  
  30.         GameObject go = PhotonNetwork.Instantiate(playerPrefab.name, getSpawnPointRandomly().position, getSpawnPointRandomly().rotation);
  31.         go.GetComponent<Player>().SetUp(actorNumber, name, fromSceneLoad);
  32.         players.Add(go);
  33.     }
  34.     public void UpdateSceneCam(bool active)
  35.     {
  36.         Camera.main.gameObject.SetActive(active);
  37.     }
  38.     public void PlayerLeft(int actorNumber)
  39.     {
  40.         foreach (var i in players)
  41.         {
  42.             if (i.GetComponent<Player>().getActorNumber() == actorNumber)
  43.             {
  44.                 Destroy(i);
  45.                 return;
  46.             }
  47.         }
  48.     }
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement