Esempio n. 1
0
        internal Message NewMessage(ChatRoom chat, ChatMessage msg)
        {
            var data = new SerializableStorage();

            data.Add("ChatId", chat.Id);
            data.Add("Message", Tuple.Create(msg.Date, msg.Signature, msg.Text));
            return(CreateMessage(ChatServerMessages.NewMessage, data));
        }
        public Message ServerClosedConnection(string msg, DisconnectReason reason)
        {
            SerializableStorage data = new SerializableStorage();

            data.Add("Message", msg ?? "");
            data.Add("Reason", reason);
            return(CreateMessage("ServerClosedConnection", data));
        }
Esempio n. 3
0
        internal Message PlayerRenamed(Player player)
        {
            var data = new SerializableStorage();

            data.Add("PlayerId", player.Id);
            data.Add("Name", player.Name);

            return(CreateMessage(PlayerServerMessageType.PlayerRenamed, data));
        }
Esempio n. 4
0
        internal Message RemovedFromChat(ChatRoom chat, string reason)
        {
            var data = new SerializableStorage();

            data.Add("ChatId", chat.Id);
            data.Add("Message", reason);

            return(CreateMessage(ChatServerMessages.RemovedFromChat, data));
        }
Esempio n. 5
0
        internal Message ConnectionJoinedChat(ChatRoom chat, IConnection con)
        {
            var data = new SerializableStorage();

            data.Add("ChatId", chat.Id);
            data.Add("ConnectionId", con.Id);

            return(CreateMessage(ChatServerMessages.ConnectionJoinedChat, data));
        }
Esempio n. 6
0
        internal Message ChatRoomDetails(ChatRoom chat)
        {
            var data = new SerializableStorage();

            data.Add("ChatId", chat.Id);
            data.Add("Name", chat.Name);
            data.Add("Connections", chat.Connections.Select(c => c.Id).ToArray());

            return(CreateMessage(ChatServerMessages.ConnectionJoinedChat, data));
        }
Esempio n. 7
0
        internal Message ChatClosed(ChatRoom chat)
        {
            var data = new SerializableStorage();

            data.Add("Id", chat.Id);
            return(CreateMessage(ChatServerMessages.ChatRoomClosed, data));
        }
Esempio n. 8
0
        internal Message OperationFailed(string message)
        {
            var data = new SerializableStorage();

            data.Add("Message", message);
            return(CreateMessage(ChatServerMessages.Error, data));
        }
Esempio n. 9
0
            private Task Send(IConnection connection, object msg)
            {
                var data = new SerializableStorage();

                data.Add("Data", msg);
                return(_messenger.SendMessage(connection, new Message("Game", "Custom", data)));
            }
Esempio n. 10
0
        public Message NewConnection(IConnection client)
        {
            SerializableStorage data = new SerializableStorage();

            data.Add("Id", client.Id);
            return(CreateMessage("NewConnection", data));
        }
Esempio n. 11
0
        public Message ConnectFinished(int id)
        {
            SerializableStorage data = new SerializableStorage();

            data.Add("Id", id);
            return(CreateMessage("ConnectFinished", data));
        }
Esempio n. 12
0
        public Message NewConnection(IConnection client)
        {
            SerializableStorage data = new SerializableStorage();

            data.Add("Id", client.Id);
            return(CreateMessage(GeneralServerMessageType.NewConnection, data));
        }
Esempio n. 13
0
        public Message ConnectFinished(int id)
        {
            SerializableStorage data = new SerializableStorage();

            data.Add("Id", id);
            return(CreateMessage(GeneralServerMessageType.ConnectFinished, data));
        }
Esempio n. 14
0
        internal Message Modules(IReadOnlyCollection <IModule> modules)
        {
            SerializableStorage data = new SerializableStorage();

            data.Add("Modules", modules.Select((m) => m.Name).ToHashSet());
            return(CreateMessage(ControlServerMessageType.Modules, data));
        }
Esempio n. 15
0
        internal Message UnsufficientPrivileges(ServerRightsLevel min)
        {
            SerializableStorage data = new SerializableStorage();

            data.Add("RequiredLevel", min);
            return(CreateMessage(ControlServerMessageType.UnsufficientRights, data));
        }
Esempio n. 16
0
        internal Message RightsLevel(ServerRightsLevel level)
        {
            SerializableStorage data = new SerializableStorage();

            data.Add("level", (int)level);
            return(CreateMessage(ControlServerMessageType.AccessLevel, data));
        }
Esempio n. 17
0
        internal Message Chats(System.Collections.Generic.IEnumerable <ChatRoom> chats)
        {
            var data = new SerializableStorage();

            data.Add("Chats", chats.Select(chat => Tuple.Create(chat.Name, chat.Id, chat.Connections.Select(c => c.Id).ToArray())).ToArray());
            return(CreateMessage(ChatServerMessages.ChatRooms, data));
        }
Esempio n. 18
0
        internal Message ClientDisconnected(Connection client)
        {
            SerializableStorage data = new SerializableStorage();

            data.Add("Id", client.Id);
            return(CreateMessage("ConnectionClosed", data));
        }
Esempio n. 19
0
        internal Message Hello(Connection connection)
        {
            SerializableStorage data = new SerializableStorage();

            data.Add("Data", connection.Id);

            return(new Message(Module, "Hello", data));
        }
Esempio n. 20
0
        internal Message PlayerAdded(Player player)
        {
            var data = new SerializableStorage();

            data.Add("Player", Tuple.Create(player.Name, player.Connection.Id, player.Id, player.IsMain));

            return(CreateMessage(PlayerServerMessageType.PlayerAdded, data));
        }
Esempio n. 21
0
        internal Message RemovePlayerFailed(PlayerRemovalException ex)
        {
            var data = new SerializableStorage();

            data.Add("Message", ex.Message);

            return(CreateMessage(PlayerServerMessageType.Error, data));
        }
Esempio n. 22
0
        internal Message NewChat(ChatRoom chat)
        {
            var data = new SerializableStorage();

            data.Add("Chat", Tuple.Create(chat.Name, chat.Id, chat.Connections.Select(c => c.Id).ToArray()));

            return(CreateMessage(ChatServerMessages.ChatRoomOpened, data));
        }
Esempio n. 23
0
        internal Message AddPlayerSuccess(Player player)
        {
            var data = new SerializableStorage();

            data.Add("Id", player.Id);

            return(CreateMessage(PlayerServerMessageType.Success, data));
        }
Esempio n. 24
0
        internal Message Modules(IReadOnlyCollection <IModule> loadedModules)
        {
            SerializableStorage data = new SerializableStorage();

            string[] modules = loadedModules.Select((m) => m.Name).ToArray();
            data.Add("Modules", modules);

            return(CreateMessage("ModulesRequest", data));
        }
Esempio n. 25
0
        internal Message AllConnections(IReadOnlyCollection <IConnection> set)
        {
            SerializableStorage data = new SerializableStorage();

            ISet <int> idSet = new HashSet <int>();

            idSet = set.Select((c) => c.Id).ToHashSet();

            data.Add("Connections", idSet);
            return(CreateMessage("AllConnections", data));
        }
Esempio n. 26
0
        public T ParseSequence(List <Token <string> > sequence, SerializableStorage context)
        {
            if (Rank == sequence.Count)
            {
                if (!IsValidEnd)
                {
                    throw new NoSuchSequenceFoundException();
                }
                return(_command);
            }
            else
            {
                if (!_childrenDic.ContainsKey(sequence[Rank].Type))
                {
                    throw new NoSuchSequenceFoundException();
                }

                var nextNode = _childrenDic[sequence[Rank].Type];

                if (sequence[Rank].Type == "String")
                {
                    string txt = sequence[Rank].Value;
                    txt = txt.Substring(1, txt.Length - 2);
                    context.Add(nextNode.SequenceItem.Name, txt);
                }
                else if (sequence[Rank].Type == "Number")
                {
                    context.Add(nextNode.SequenceItem.Name, int.Parse(sequence[Rank].Value));
                }
                else if (sequence[Rank].Type == "Boolean")
                {
                    context.Add(nextNode.SequenceItem.Name, bool.Parse(sequence[Rank].Value));
                }

                return(_childrenDic[sequence[Rank].Type].ParseSequence(sequence, context));
            }
        }
Esempio n. 27
0
        internal Message Players(IReadOnlyCollection <Player> info)
        {
            var data = new SerializableStorage();

            var playerData = new HashSet <Tuple <string, int, int, bool> >();

            foreach (var p in info)
            {
                playerData.Add(Tuple.Create(p.Name, p.Connection.Id, p.Id, p.IsMain));
            }

            data.Add("Players", playerData.ToArray());

            return(CreateMessage(PlayerServerMessageType.Players, data));
        }
Esempio n. 28
0
        public Message CreateMessage(string type, params object[] data)
        {
            if (!_outgoingMessageDic.ContainsKey(type))
            {
                throw new ArgumentException("Message of type '" + type + "' not found in message dictionary!");
            }

            var msg = _outgoingMessageDic[type];
            var st  = new SerializableStorage();

            if (msg.Factory != null)
            {
                st.Add("Data", msg.Factory(data));
            }
            return(new Message(msg.Module, msg.Type, st));
        }