コード例 #1
0
 public void RegisterMessageHandler(ClientMessageTypes type, UnconnectedMessageHandler handler)
 {
     if (!handlersUnconnected.ContainsKey((short)type))
     {
         handlersUnconnected.Add((short)type, handler);
     }
     else
     {
         handlersUnconnected[(short)type] = handler;
     }
 }
コード例 #2
0
 public void RegisterMessageHandler(ClientMessageTypes type, MessageHandler handler)
 {
     if (!handlers.ContainsKey((short)type))
     {
         handlers.Add((short)type, handler);
     }
     else
     {
         handlers[(short)type] = handler;
     }
 }
コード例 #3
0
ファイル: ClientMessage.cs プロジェクト: 3agrey/pbc
        public ClientMessage()
        {
            _singleMessage = "";
            _header = "";
            _messages = new List<string>();
            _type = ClientMessageTypes.Info;
            _showSingleMessage = false;
            _showListMessages = false;

            // design defaults
            IsRenderNewLine = false;
        }
コード例 #4
0
        public SNMessageData GetMessageData(short type)
        {
            ClientMessageTypes header  = (ClientMessageTypes)type;
            SNMessageData      message = null;

            switch (header)
            {
                #region Authentification
            case ClientMessageTypes.PlayerLoginSuccess:
                message = new PlayerLoginSuccessMessageData();
                break;

            case ClientMessageTypes.PlayerLoginError:
                message = new PlayerLoginErrorMessageData();
                break;

            case ClientMessageTypes.SendCharacters:
                message = new SendCharactersMessageData();
                break;

            case ClientMessageTypes.CharacterSelected:
                message = new CharacterSelectedMessageData();
                break;
                #endregion

                #region Entities
            case ClientMessageTypes.EntityPosition:
                message = new EntityPositionMessageData();
                break;

            case ClientMessageTypes.CharacterDisconnected:
                message = new CharacterDisconnectedMessageData();
                break;
                #endregion

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

            return(message);
        }
コード例 #5
0
ファイル: Client.cs プロジェクト: izacus/dynabomber
        private IClientUpdate GetUpdate(byte[] buffer, int offset, int length)
        {
            MemoryStream ms = new MemoryStream(buffer, offset, length);

            ClientMessageTypes msgType = (ClientMessageTypes)ms.ReadByte();

            switch (msgType)
            {
            case ClientMessageTypes.StatusUpdate:
                ClientStatusUpdate statusUpdate = Serializer.DeserializeWithLengthPrefix <ClientStatusUpdate>(ms, PrefixStyle.Base128);
                return(statusUpdate);

            case ClientMessageTypes.PositionUpdate:
                ClientPositionUpdate positionUpdate = Serializer.DeserializeWithLengthPrefix <ClientPositionUpdate>(ms, PrefixStyle.Base128);
                return(positionUpdate);

            case ClientMessageTypes.BombSet:
                ClientBombSet bombSetUpdate = Serializer.DeserializeWithLengthPrefix <ClientBombSet>(ms, PrefixStyle.Base128);
                return(bombSetUpdate);
            }

            return(null);
        }
コード例 #6
0
 protected ClientServiceDataMessage(ClientMessageTypes messageType, short keyIndex, int chainId, SignedData clientData) : base(messageType, keyIndex, chainId)
 {
     ClientData = clientData;
 }
コード例 #7
0
 protected ClientServiceDataMessage(ClientMessageTypes messageType) : base(messageType)
 {
 }
コード例 #8
0
 protected ClientServiceBaseMessage(ClientMessageTypes messageType, short keyIndex, int chainId) : this(messageType)
 {
     ClientKeyIndex = keyIndex;
     TargetChainId  = chainId;
 }
コード例 #9
0
 protected ClientMessage(ClientMessageTypes messageType) : base((ushort)messageType)
 {
 }
コード例 #10
0
ファイル: ClientMessage.cs プロジェクト: 3agrey/pbc
 public void ShowSingleMessage(string message, ClientMessageTypes type)
 {
     _singleMessage = message;
     _type = type;
     _showSingleMessage = true;
 }
コード例 #11
0
ファイル: ClientMessage.cs プロジェクト: 3agrey/pbc
 public void ShowListMessages(string header, ClientMessageTypes type)
 {
     _header = header;
     _type = type;
     _showListMessages = true;
 }