// Spawn players in different areas of the room based on their tag. public GameObject spawnHere(ExtendedEventArgs eventArgs) { GameObject spawn = null; // if eventArgs.playertag == 1 or eventArgs.playertag == 2 to tell them to spawn in different areas ResponseCreateEventArgs argID = eventArgs as ResponseCreateEventArgs; if (argID.user_id == 1) { spawn = Instantiate(Resources.Load <GameObject>("Prefabs/P1 Puzzle/AlexP1Spawn")); //spawn = Instantiate(Resources.Load<GameObject>("Prefabs/Player1Spawn")); } if (argID.user_id == 2) { spawn = Instantiate(Resources.Load <GameObject>("Prefabs/P1 Puzzle/AlexP2Spawn")); //spawn = Instantiate(Resources.Load<GameObject>("Prefabs/Player2Spawn")); } return(spawn); }
public override ExtendedEventArgs process() { ResponseCreateEventArgs args = null; if (status == 0) { args = new ResponseCreateEventArgs(); // args.status = status; args.user_id = user_id; // args.username = username; // args.money = money; // args.level = level; // args.last_logout = last_logout; Debug.Log("user id is:" + user_id); // args.player = GameObject.Instantiate(Resources.Load<GameObject>("Prefabs/PlayerObject")as GameObject); } return(args); }
// Function to be called after processing a message. // Function callbacks used to show what is received or what happens to the client // after the request is done processing from the connection manager. public void ResponseCreate(ExtendedEventArgs eventArgs) { ResponseCreateEventArgs argID = eventArgs as ResponseCreateEventArgs; if (players.Count >= 2) { foreach (GameObject player in players) { Destroy(player); } players = new List <GameObject>(); } player = spawnHere(eventArgs); player.tag = argID.user_id.ToString(); players.Add(player); if (players.Count == 1) { // Activates the ready screen for player GameObject readyScreen = player.transform.GetChild(1).gameObject; readyScreen.transform.GetChild(4).gameObject.SetActive(true); readyScreen.transform.GetChild(5).gameObject.SetActive(true); // Assigning chat box field chatBox = GameObject.FindGameObjectWithTag("inputfield").GetComponent <InputField>(); // Assigning chat panel field chatPanel = GameObject.FindGameObjectWithTag("content"); Debug.Log("Added first player in list."); } // Turning off components and game objects for the other player. if (players.Count > 1) { Debug.Log("Adding subsequent players that join."); // Player Object is a child of the Player Spawn Game Object. GameObject playerObject = player.transform.GetChild(0).gameObject; // Turn off End menu screen for the other player player.transform.GetChild(2).gameObject.SetActive(false); // Turn off all children associated with the new player object that joins. for (int i = 0; i < playerObject.transform.childCount; i++) { Debug.Log("Turning off camera"); // The rest of the children is within this player. GameObject child = playerObject.transform.GetChild(i).gameObject; // Turning off children of player. if (child != null) { child.SetActive(false); } } // Turn off canvas of other player player.transform.GetChild(1).gameObject.SetActive(false); // Turn off all movement and camera objects so that one input doesn't move both player objects. playerObject.GetComponent <FPMovement>().enabled = false; //playerObject.GetComponent<CharacterController>().enabled = false; playerObject.GetComponent <MouseLook>().enabled = false; } Debug.Log("Successfully created player in callback function."); }