コード例 #1
0
        public void HandleSetTickValCommand(ref ServerSetTickValCommand command)
        {
            var utcNow   = DateTime.Parse(DateTime.Now.ToString("1970-01-01 00:00:00")).AddMilliseconds(command.ServerMillSec);
            var timeSpan = DateTime.Now - new DateTime(1970, 1, 1, 0, 0, 0);
            var ping     = timeSpan.TotalMilliseconds - command.ServerMillSec;

            var localTick = (long)ping / 20 + command.Tick;
            var addTick   = _client.AddTick;

            _game.ReplaceTick(localTick + addTick);
            _game.SetStartTime(localTick + addTick, utcNow);
            _game.ReplaceLastTick(localTick + addTick);
        }
コード例 #2
0
    public static void Execute(IClientHandler handler, BitBuffer buffer, ushort commandCount)
    {
        for (int i = 0; i < commandCount; i++)
        {
            var commandId = buffer.ReadUShort();
            switch (commandId)
            {
            case 0:
            {
                Logger.I.Log("ClientCommandExecutor", "Executing ServerChatMessageCommand");

                var c = new  ServerChatMessageCommand();
                c.Deserialize(buffer);
                handler.HandleChatMessageCommand(ref c);
                break;
            }


            case 1:
            {
                Logger.I.Log("ClientCommandExecutor", "Executing ServerGrantedIdCommand");

                var c = new  ServerGrantedIdCommand();
                c.Deserialize(buffer);
                handler.HandleGrantedIdCommand(ref c);
                break;
            }


            case 2:
            {
                Logger.I.Log("ClientCommandExecutor", "Executing ServerSetTickrateCommand");

                var c = new  ServerSetTickrateCommand();
                c.Deserialize(buffer);
                handler.HandleSetTickrateCommand(ref c);
                break;
            }


            case 3:
            {
                Logger.I.Log("ClientCommandExecutor", "Executing ServerSetTickValCommand");

                var c = new  ServerSetTickValCommand();
                c.Deserialize(buffer);
                handler.HandleSetTickValCommand(ref c);
                break;
            }


            case 4:
            {
                Logger.I.Log("ClientCommandExecutor", "Executing ServerTestCommand");

                var c = new  ServerTestCommand();
                c.Deserialize(buffer);
                handler.HandleTestCommand(ref c);
                break;
            }
            }
        }
    }