예제 #1
0
        public override void OnStartClient()
        {
            ChangeGameObjectName(Name);
            PlayerNameChanged.AddListener(ChangeGameObjectName);

            SetPlace();
            PlayerState = PlayerState.Connected;
        }
예제 #2
0
 public void SetPlayerName(string playerName)
 {
     PlayerName = playerName;
     PlayerNameChanged?.Invoke(this, new NameChangedEventArgs
     {
         PlayerName = PlayerName
     });
 }
예제 #3
0
 //All functions are called on the clients with reference to this object when the servers variable change, so in effect its only a setter but over the network
 private void OnNameChanged(string name)
 {
     m_Name = name;
     OnNetworkPlayerDataUpdated();
     if (PlayerNameChanged != null)
     {
         PlayerNameChanged.Invoke(this);
     }
 }
예제 #4
0
        public override void OnStartServer()
        {
            ChangeGameObjectName(Name);
            PlayerNameChanged.AddListener(ChangeGameObjectName);

            if (isServer && !isClient)
            {
                PlaceManager.Instance.SetServerPlayerPosition(this);
            }

            PlayerState = PlayerState.Connected;
        }
예제 #5
0
        /// <summary>
        /// Handles renaming each player based on the recommendation from the server
        /// </summary>
        ///
        /// <param name="renames">Object containing list of player rename actions to be taken</param>
        private void HandlePlayerRename(PlayerRename renames)
        {
            foreach (PlayerRenameItem rename in renames.PlayerRenames)
            {
                Player foundPlayer = localPlayers.FirstOrDefault(p => p.PlayerId == rename.PlayerId);
                if (foundPlayer == null)
                {
                    AddRemoteStatusMessage($"No player with ID = {rename.PlayerId}, Name = {rename.OriginalName} found in local list");
                    continue;
                }

                AddRemoteStatusMessage($"Renaming {rename.OriginalName} to {rename.NewName} due to duplicate on remote server");
                foundPlayer.Name = rename.NewName;
                PlayerNameChanged?.Invoke(rename.PlayerId, rename.NewName);
            }
        }
예제 #6
0
 private void OnPlayerNameChanged(PlayerNameChanged seerEvent) => PlayerNameChanged?.Invoke(seerEvent);
예제 #7
0
 public static void OnPlayerNameChanged(string prevName, string newName)
 {
     PlayerNameChanged?.Invoke(prevName, newName);
 }