// this syncs all inputs from all other clients into single place in server public void SyncInputFromClients(IEnums.PlayerPosition pPosition, Vector3[] pTouchInput) { if (inputDictionary == null) { InitInputDictionary(); } inputDictionary[pPosition] = pTouchInput; }
void RpcSetPlayerPosition(string pPlayerName, IEnums.PlayerPosition pPlayerPosition) { if (pPlayerName == Common._PlayerName) { Debug.Log(Common._PlayerName + ": " + pPlayerName + " selected " + pPlayerPosition); Common._PlayerPosition = pPlayerPosition; } GameNetworkManager.singleton.gameStartController.beginLevel(); Debug.Log("RpcSetPlayerPosition called"); }
void CmdSetPlayerInput(IEnums.PlayerPosition pPosition, Vector3[] pInputTouches) { // server GameNetworkManager.singleton.shipMovementController.SyncInputFromClients(pPosition, pInputTouches); }
void CmdPlayerReady(string pPlayerName) { for (int i = 0; i < GameNetworkManager.singleton.positionsOccupiedByPlayers.Length; i++) { if (GameNetworkManager.singleton.positionsOccupiedByPlayers[i] == pPlayerName) { GameNetworkManager.singleton.isPlayersReady[i] = true; break; } } RpcPlayerStatusUpdated(GameNetworkManager.singleton.positionsOccupiedByPlayers, GameNetworkManager.singleton.isPlayersReady); int playerCount = GameNetworkManager.singleton.playerNameList.Count; int numPlayersReady = 0; for (int i = 0; i < GameNetworkManager.singleton.isPlayersReady.Length; i++) { if (GameNetworkManager.singleton.isPlayersReady[i]) { numPlayersReady++; } } Debug.Log("if " + numPlayersReady + ">=" + playerCount + " then show in game"); IEnums.PlayerPosition playerSelectedPosition = IEnums.PlayerPosition.CoaxialCannon; for (int i = 0; i < GameNetworkManager.singleton.positionsOccupiedByPlayers.Length; i++) { //Debug.Log(GameNetworkManager.singleton.positionsOccupiedByPlayers[i] + " == " + pPlayerName); if (GameNetworkManager.singleton.positionsOccupiedByPlayers[i] == pPlayerName) { switch (i) { case 0: playerSelectedPosition = IEnums.PlayerPosition.CoaxialCannon; break; case 1: playerSelectedPosition = IEnums.PlayerPosition.Drones; break; case 2: playerSelectedPosition = IEnums.PlayerPosition.Missiles; break; case 3: playerSelectedPosition = IEnums.PlayerPosition.Shield; break; } RpcSetPlayerPosition(pPlayerName, playerSelectedPosition); break; } } if (numPlayersReady > 0 && numPlayersReady >= playerCount) { RpcShowIngameUI(); GameNetworkManager.singleton.EnableEnemySpawner(); //GameNetworkManager.singleton.gameStartController.beginLevel(); GameNetworkManager.singleton.EnemySpawner.spawningEnabled = true; } // end of if (numPlayersReady) }