/** * Create a new player */ public bool CreateNewPlayer(FeedData feedData) { // make sure the player doesn't already exist if (playerDict.ContainsKey(feedData.username)) { return(false); } // get a position that doesn't contain any other colliders Vector3 spawnPosition = GetClearSpawnPosition(); // get the spawn rotation Quaternion spawnRotation = new Quaternion(); // random rotation - on local x only //spawnRotation.eulerAngles = new Vector3 (Random.Range (0.0f, 360.0f), 90f, 0f); // no random rotation spawnRotation.eulerAngles = new Vector3(0f, 0f, 0f); // if clear spawn position if (spawnPosition != Vector3.zero) { // instantiate prefab @ spawn position GameObject obj = (GameObject)Instantiate(playerPrefab, spawnPosition, spawnRotation); // call Init() on Player obj.GetComponent <Player> ().Init(feedData); // set name in Unity Editor obj.name = feedData.username; // parent under PlayerManger obj.transform.parent = gameObject.transform; // finaly, add to dict playerDict.Add(feedData.username, obj); // sets a reference to the cameraManager obj.GetComponent <Player> ().cameraManager = cameraManager; // Allow the player to be selected by the camera cameraManager.AddPlayer(feedData.username); } return(true); }