Exemple #1
0
        public Task HandleAsync(DeployedEvent @event, CancellationToken cancellationToken = new CancellationToken())
        {
            EnsurePlayerExists(@event.Player);
            switch (@event.Type)
            {
            case UnitType.TankHeavy:
                _counts[@event.Player].HeavyTankCount++;
                break;

            case UnitType.TankLight:
                _counts[@event.Player].LightTankCount++;
                break;

            case UnitType.PlaneBomber:
                _counts[@event.Player].BomberCount++;
                break;

            case UnitType.PlaneFighter:
                _counts[@event.Player].FighterPlaneCount++;
                break;

            case UnitType.Infantry:
                _counts[@event.Player].SoldierCount++;
                break;
            }
            return(Task.CompletedTask);
        }
Exemple #2
0
        private void OnDeployedEvent(DeployedEvent devent)
        {
            switch (devent.Type)
            {
            case UnitType.Infantry:
                Units.Add(devent.DeployedId, new Soldier(devent.DeployedId, "Billy Bob", devent.Player));
                break;

            case UnitType.PlaneBomber:
            case UnitType.PlaneFighter:
                Units.Add(devent.DeployedId, new Plane(devent.DeployedId, devent.Type, devent.Player));
                break;

            case UnitType.TankHeavy:
            case UnitType.TankLight:
                Units.Add(devent.DeployedId, new Tank(devent.DeployedId, devent.Type, devent.Player));
                break;
            }
        }
 public async Task HandleAsync(DeployedEvent @event, CancellationToken cancellationToken = new CancellationToken())
 {
     await _repo.AddUnit(@event.AggregateRootId, @event.Type, @event.Player, cancellationToken);
 }