Esempio n. 1
0
        private void HandleNicknameChangeData(AData data, Socket socket)
        {
            NicknameChangeData nicknameOperationsData = (NicknameChangeData)data;

            foreach (ChatChannel channel in _channelList.Values)
            {
                if (channel.UserList.Keys.Contains(socket))
                {
                    ChatUser user = channel.UserList[socket];

                    Message userChangedMessage = new Message(channel, user, string.Format("{0} changed their name to {1}", user.Nickname, nicknameOperationsData.NewNickname), true);
                    userChangedMessage.LogToConsole();

                    channel.CacheMessage(userChangedMessage);

                    NetworkMessage networkMessage = new NetworkMessage(userChangedMessage.GetChatMessage());
                    channel.SendDataToAllUsers(networkMessage.ByteMessage);

                    user.Nickname = nicknameOperationsData.NewNickname;

                    networkMessage = new NetworkMessage(channel.GetChannelData());
                    channel.SendDataToAllUsers(networkMessage.ByteMessage);
                }
            }
        }
    public void ClickSendButton()
    {
        if (!_nicknameInput.text.Equals(string.Empty))
        {
            NicknameChangeData nicknameData = new NicknameChangeData();
            nicknameData.NewNickname = _nicknameInput.text;

            Debug.Log(JsonConvert.SerializeObject(nicknameData));
            ChatClient.I.SendMessageToServer(nicknameData);

            _user.nickname = _nicknameInput.text;
            _changeNickButton.gameObject.SetActive(true);
        }
    }