Esempio n. 1
0
        private static void ProcessReliableCommand(BitStream message)
        {
            uint   commandSequence = message.ReadUInt32();
            string command         = message.ReadString();

            if (commandSequence <= _lastExecutedReliable)
            {
                return;
            }

            string[] args = Command.Tokenize(command);

            switch (args[0])
            {
            case "print":
                if (args.Length < 2)
                {
                    break;
                }

                Log.Write(LogLevel.Info, "{0}", string.Join(" ", args, 1, args.Length - 1));
                break;

            case "disconnect":
                State = ClientState.Idle;
                Log.Write(LogLevel.Error, "Disconnected from server: {0}", (args.Length == 2) ? args[1] : "no message");
                break;
            }

            _lastExecutedReliable = commandSequence;
            _lastReliableMessage  = commandSequence;
        }
Esempio n. 2
0
        private static void ProcessClientReliableCommand(ServerClient client, BitStream message)
        {
            uint   commandSequence = message.ReadUInt32();
            string command         = message.ReadString();

            if (commandSequence <= client.LastExecutedReliableCommand)
            {
                return;
            }

            string[] args = Command.Tokenize(command);

            switch (args[0])
            {
            case "say":
                if (args.Length < 2)
                {
                    break;
                }

                string msg = string.Format("{0}: {1}", client.Name, string.Join(" ", args, 1, args.Length - 1));
                Log.Write(LogLevel.Info, msg);
                SendReliableCommand(null, "print \"" + msg + "\"");
                break;

            case "disconnect":
                DropClient(client, "Disconnected from server");
                break;
            }

            client.LastReceivedReliableCommand = commandSequence;
            client.LastExecutedReliableCommand = commandSequence;
        }
Esempio n. 3
0
        private static void ProcessInitializationState(BitStream message)
        {
            _svStateID = message.ReadInt32();

            // load the server's current map
            var mapName = message.ReadString();

            MapManager.Load(string.Format("Maps/{0}.gmp", mapName));
        }