Beispiel #1
0
        public void Handle(NetConnection sender, SNMessageData messageData)
        {
            var characterSelectedMessageData = (CharacterSelectedMessageData)messageData;

            var gameScene = serviceProvider.GetService <GameScene>();

            Core.Scene = gameScene;
            gameScene.LoadCharacter(characterSelectedMessageData.Character);

            var characterLoadedMessageData = new CharacterLoadedMessageData();

            outgoingMessageService.Send(characterLoadedMessageData);
        }
Beispiel #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);
        }