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