private void SyncronizePlayerCharacterOnClients(PlayerSpawnData spawnData)
        {
            ServerManager.Instance.SendToClient(spawnData.ID, Tags.SpawnPlayer, spawnData);

            ServerManager.Instance.SendNewPlayerToOthers(spawnData.ID, spawnData.Position, spawnData.PlayerCharacterName);

            ServerManager.Instance.SendOthersToNewPlayer(spawnData.ID, CurrentPlayers);
        }
Beispiel #2
0
 public void SendOthersToNewPlayer(ushort clientID, Dictionary <ushort, GameObject> players)
 {
     foreach (KeyValuePair <ushort, GameObject> player in players)
     {
         if (player.Key != clientID)
         {
             PlayerSpawnData spawnData = new PlayerSpawnData(player.Key, player.Value.transform.position, ConnectedClients[player.Key].CurrentCharacterData.CharacterName);
             SendToClient(clientID, Tags.SpawnPlayer, spawnData);
         }
     }
 }
        public void SpawnPlayerOnServer(ushort clientID, PlayFabCharacterData characterData)
        {
            if (!CurrentPlayers.ContainsKey(clientID))
            {
                InstantiateAndAddPlayer(clientID, characterData.WorldPosition);

                PlayerSpawnData spawnData = new PlayerSpawnData(
                    clientID,
                    characterData.WorldPosition,
                    characterData.CharacterName
                    );

                SyncronizePlayerCharacterOnClients(spawnData);
            }
            else
            {
                Debug.Log("Player already spawned for this client");
            }
        }
Beispiel #4
0
        public void SendNewPlayerToOthers(ushort clientID, Vector3 position, string name)
        {
            PlayerSpawnData spawnData = new PlayerSpawnData(clientID, position, name);

            SendToAllExcept(clientID, Tags.SpawnPlayer, spawnData);
        }