Exemple #1
0
        private void ParseMessage(string messageReceived, Thunderstorm player)
        {
            char[] separators = new[] { '\n', '\r', '\f', '\0', (char) 3 };
            string[] strings = messageReceived.Split(separators, StringSplitOptions.RemoveEmptyEntries);

            IEnumerable<KeyValuePair<string, string>> lines = GetLines(strings);
            foreach (KeyValuePair<string, string> line in lines)
            {
                if (state == null)
                    continue;

                if (line.Key.Equals("WIND"))
                    SendMessage(player.Wind(ParseVector(line.Value)) ? "OK\n" : "IGNORED\n");

                if (line.Key.Equals("GET_STATE"))
                    this.SendMessage(StateProtocol.Create(state.player, state.world, state.iteration));
            }
        }