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) { }
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())); }