예제 #1
0
        private void LoginButton_OnClicked(Button btn)
        {
            if (string.IsNullOrEmpty(emailTf.GetText()) || string.IsNullOrEmpty(passwordTf.GetText()))
            {
                windowService.Open(new OkWindow(windowService, "Error", "Fields can't be empty"));
                return;
            }

            windowService.Open(new TextWindow("Information", "Login in..."));

            var msg         = zoneClientNetPeer.CreateMessage();
            var messageData = new PlayerLoginMessageData();

            messageData.Email    = emailTf.GetText();
            messageData.Password = passwordTf.GetText();
            messageData.Encode(msg);

            var receiver = new IPEndPoint(NetUtility.Resolve(Constants.Host), Constants.ZoneServerPort);

            zoneClientNetPeer.SendUnconnectedMessage(msg, receiver);
        }
예제 #2
0
        public SNMessageData GetMessageData(short type)
        {
            ZoneMessageTypes header  = (ZoneMessageTypes)type;
            SNMessageData    message = null;

            switch (header)
            {
                #region Authentification
            case ZoneMessageTypes.PlayerLogin:
                message = new PlayerLoginMessageData();
                break;

            case ZoneMessageTypes.RequestCharacters:
                message = new RequestCharactersMessageData();
                break;

            case ZoneMessageTypes.SelectCharacter:
                message = new SelectCharacterMessageData();
                break;

            case ZoneMessageTypes.CharacterLoaded:
                message = new CharacterLoadedMessageData();
                break;
                #endregion

                #region Players
            case ZoneMessageTypes.PlayerDirection:
                message = new PlayerDirectionMessageData();
                break;
                #endregion

            default:
                loggingService.Log($"Cannot build zone message {header.ToString()}", LogMessageType.WARNING);
                break;
            }

            return(message);
        }