/// <summary> /// Décode le message ClientServerDetail /// </summary> /// <param name="message">Message a décoder</param> /// <returns>Instance de l'endpoint</returns> public static GameNetworkEndpoint DecodeClientServerDetail(string message) { // On décode la chaine string[] data = GameNetworkParser.Parse(message); if (data == null || data.Length != 3) { return(null); } // Décodage int port; if (!int.TryParse(data[2], out port)) { return(null); } GameNetworkEndpoint endpoint = new GameNetworkEndpoint(data[1], port); // On renvoi l'endpoint return(endpoint); }
/// <summary> /// Récupère le type du message /// </summary> /// <param name="message">Message a décoder</param> /// <returns>Type du message</returns> public static GameMessageTypes FindType(string message) { // On décode la chaine string[] data = GameNetworkParser.Parse(message); if (data == null) { return(GameMessageTypes.Unknow); } // On détermine le type int type; if (!int.TryParse(data[0], out type)) { return(GameMessageTypes.Unknow); } // On filtre le type if (type == 1) { return(GameMessageTypes.ClientServerDetail); } else if (type == 2) { return(GameMessageTypes.SendObjectInMailbox); } // Message inconnu return(GameMessageTypes.Unknow); }
/// <summary> /// Décode le message SendObjectInMailbox /// </summary> /// <param name="message">Message a décoder</param> /// <returns>Objet en transit</returns> public static MailboxItems DecodeSendObjectInMailbox(string message) { // On décode la chaine string[] data = GameNetworkParser.Parse(message); if (data == null || data.Length != 2) { return(MailboxItems.None); } // Décodage int itemId; if (!int.TryParse(data[1], out itemId)) { return(MailboxItems.None); } // On renvoi l'item if (itemId == 1) { return(MailboxItems.Menu); } else if (itemId == 2) { return(MailboxItems.Screeen); } else if (itemId == 3) { return(MailboxItems.Key1); } else if (itemId == 4) { return(MailboxItems.UsbKey); } else if (itemId == 5) { return(MailboxItems.Key2); } else if (itemId == 6) { return(MailboxItems.DoorHandle); } return(MailboxItems.None); }