protected override void Execute(List <InputEntity> entities)
    {
        foreach (var e in entities)
        {
            var clientId = _client.ConnectionId.Id.ToString();
            var curTick  = _gameContext.tick.CurrentTick;

            var moversList = new List <GameEntity>(_movers.GetEntities());
            var curMover   = moversList.Find(m => m.moverID.value == clientId);
            if (curMover == null)
            {
                continue;
            }
            var tarPosition = e.mouseDown.position;
            var command     = new ClientBeeMoveCommand {
                Tick = curTick + 1, Target = tarPosition
            };
            var moveAction = new MoveAction(command, clientId);
            Util.GameUtil.AddLocalActionList(_gameContext, moveAction);
            _client.EnqueueCommand(command);
        }
    }
 public MoveAction(ClientBeeMoveCommand command, string id)
     : base(command, command.Tick, ActionType.Move, id)
 {
 }
Beispiel #3
0
    public static void Execute(IServerHandler handler, BitBuffer buffer, ushort commandCount)
    {
        for (int i = 0; i < commandCount; i++)
        {
            var commandId = buffer.ReadUShort();
            switch (commandId)
            {
            case 0:
            {
                Logger.I.Log("ServerCommandExecutor", "Executing ClientCreateIceCommand");

                var c = new  ClientCreateIceCommand();
                c.Deserialize(buffer);
                handler.HandleCreateIceCommand(ref c);
                break;
            }


            case 1:
            {
                Logger.I.Log("ServerCommandExecutor", "Executing ClientBeeMoveCommand");

                var c = new  ClientBeeMoveCommand();
                c.Deserialize(buffer);
                handler.HandleBeeMoveCommand(ref c);
                break;
            }


            case 2:
            {
                Logger.I.Log("ServerCommandExecutor", "Executing ClientChatMessageCommand");

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


            case 3:
            {
                Logger.I.Log("ServerCommandExecutor", "Executing ClientCreateBeeCommand");

                var c = new  ClientCreateBeeCommand();
                c.Deserialize(buffer);
                handler.HandleCreateBeeCommand(ref c);
                break;
            }


            case 4:
            {
                Logger.I.Log("ServerCommandExecutor", "Executing ClientRequestCharacterCommand");

                var c = new  ClientRequestCharacterCommand();
                c.Deserialize(buffer);
                handler.HandleRequestCharacterCommand(ref c);
                break;
            }


            case 5:
            {
                Logger.I.Log("ServerCommandExecutor", "Executing ClientSetTickrateCommand");

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


            case 6:
            {
                Logger.I.Log("ServerCommandExecutor", "Executing ClientTestCommand");

                var c = new  ClientTestCommand();
                c.Deserialize(buffer);
                handler.HandleTestCommand(ref c);
                break;
            }
            }
        }
    }
 public void HandleBeeMoveCommand(ref ClientBeeMoveCommand command)
 {
     Logger.I.Log(this, $"Move-{CurrentClientId}: tar: {command.Target.x:F4},{command.Target.y:F4} tick: {command.Tick}");
     GameUtil.AddLocalActionList(_game, new MoveAction(command, CurrentClientId.ToString()));
 }