IEnumerator LoadGameScene() { SceneManager.LoadScene("Game"); yield return(new WaitUntil(() => SceneManager.GetActiveScene().name == "Game")); for (int i = 0; i < players.Count; i++) { Net_PlayerInfo temp = players[i]; GameObject obj = Instantiate(playerPrefab, new Vector3(0, 3, spawnOffset), Quaternion.identity); obj.name = temp.userName; Debug.Log("spawning object"); if (temp.userName == self.userName) { myObj = obj; myObj.GetComponent <Renderer>().material.color = Color.red; selfMov = new Net_Movement(temp) { xMov = myObj.transform.position.x, zMov = myObj.transform.position.z, }; FindObjectOfType <CameraMovement>().followObject = myObj; } playerObjects.Add(new PlayerObject(obj, temp)); spawnOffset += 5; } }
void SendMovement(Net_Movement msg) { Net_HubInfo hub = GetPlayerHub(msg.player); List <Net_PlayerInfo> temp = new List <Net_PlayerInfo>(hub.players); Net_PlayerInfo sender = temp.Find(x => x.connectionId == msg.player.connectionId); temp.Remove(sender); SendActivePlayers(msg, temp, unreliableChannel); }
void Movement(Net_Movement msg) { for (int i = 0; i < playerObjects.Count; i++) { PlayerObject current = playerObjects[i]; if (msg.player.userName == current.player.userName) { current.obj.transform.Translate(msg.xMov, 0f, msg.zMov); } } }