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)); }
internal Message PlayerRenamed(Player player) { var data = new SerializableStorage(); data.Add("PlayerId", player.Id); data.Add("Name", player.Name); return(CreateMessage(PlayerServerMessageType.PlayerRenamed, data)); }
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)); }
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)); }
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)); }
internal Message ChatClosed(ChatRoom chat) { var data = new SerializableStorage(); data.Add("Id", chat.Id); return(CreateMessage(ChatServerMessages.ChatRoomClosed, data)); }
internal Message OperationFailed(string message) { var data = new SerializableStorage(); data.Add("Message", message); return(CreateMessage(ChatServerMessages.Error, data)); }
private Task Send(IConnection connection, object msg) { var data = new SerializableStorage(); data.Add("Data", msg); return(_messenger.SendMessage(connection, new Message("Game", "Custom", data))); }
public Message NewConnection(IConnection client) { SerializableStorage data = new SerializableStorage(); data.Add("Id", client.Id); return(CreateMessage("NewConnection", data)); }
public Message ConnectFinished(int id) { SerializableStorage data = new SerializableStorage(); data.Add("Id", id); return(CreateMessage("ConnectFinished", data)); }
public Message NewConnection(IConnection client) { SerializableStorage data = new SerializableStorage(); data.Add("Id", client.Id); return(CreateMessage(GeneralServerMessageType.NewConnection, data)); }
public Message ConnectFinished(int id) { SerializableStorage data = new SerializableStorage(); data.Add("Id", id); return(CreateMessage(GeneralServerMessageType.ConnectFinished, data)); }
internal Message Modules(IReadOnlyCollection <IModule> modules) { SerializableStorage data = new SerializableStorage(); data.Add("Modules", modules.Select((m) => m.Name).ToHashSet()); return(CreateMessage(ControlServerMessageType.Modules, data)); }
internal Message UnsufficientPrivileges(ServerRightsLevel min) { SerializableStorage data = new SerializableStorage(); data.Add("RequiredLevel", min); return(CreateMessage(ControlServerMessageType.UnsufficientRights, data)); }
internal Message RightsLevel(ServerRightsLevel level) { SerializableStorage data = new SerializableStorage(); data.Add("level", (int)level); return(CreateMessage(ControlServerMessageType.AccessLevel, data)); }
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)); }
internal Message ClientDisconnected(Connection client) { SerializableStorage data = new SerializableStorage(); data.Add("Id", client.Id); return(CreateMessage("ConnectionClosed", data)); }
internal Message Hello(Connection connection) { SerializableStorage data = new SerializableStorage(); data.Add("Data", connection.Id); return(new Message(Module, "Hello", data)); }
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)); }
internal Message RemovePlayerFailed(PlayerRemovalException ex) { var data = new SerializableStorage(); data.Add("Message", ex.Message); return(CreateMessage(PlayerServerMessageType.Error, data)); }
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)); }
internal Message AddPlayerSuccess(Player player) { var data = new SerializableStorage(); data.Add("Id", player.Id); return(CreateMessage(PlayerServerMessageType.Success, data)); }
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)); }
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)); }
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)); } }
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)); }
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)); }