Пример #1
0
        public Task CancelFleet(FleetCancelationData fleetCancelation)
        {
            if (fleetCancelation == null)
            {
                throw new ArgumentNullException(nameof(fleetCancelation));
            }
            var command = new CancelFleetCommand
            {
                RoomId = _roomId,
                Index  = fleetCancelation.Index
            };

            return(_context.Send(command));
        }
Пример #2
0
        public Task CancelFleet(Guid userId, FleetCancelationData fleetCancelation)
        {
            if (fleetCancelation == null)
            {
                throw new ArgumentNullException(nameof(fleetCancelation));
            }
            EnsureGameIsInProgress();
            EnsureUserIsOnline(userId);
            EnsureTurnIsInProgress(userId);
            var waitingFleets = _state.PlayerStates[userId].WaitingFleets;
            var validator     = new CancelFleetValidator(waitingFleets.Count);

            fleetCancelation.EnsureIsValid(validator);

            var fleet = waitingFleets[fleetCancelation.Index];

            waitingFleets.RemoveAt(fleetCancelation.Index);
            var planet = _map[fleet.From];

            planet.Ships += fleet.Ships;
            return(Task.CompletedTask);
        }
Пример #3
0
 public Task CancelFleet(Guid userId, FleetCancelationData fleet)
 {
     return(_game.CancelFleet(userId, fleet));
 }
Пример #4
0
        public Task CancelFleet(FleetCancelationData fleetCancelation)
        {
            var game = EnsureIsInGame();

            return(game.CancelFleet(_state.UserId, fleetCancelation));
        }
Пример #5
0
 public Task CancelFleet(FleetCancelationData fleetCancelation)
 {
     return(_player.CancelFleet(fleetCancelation));
 }