private void RegisterRemoveHandler(IActiveRaceControlService service) { void RemoveRace(IActiveRaceControlService s) => _activeRaces.Remove(s); service.OnRaceFinished += _ => RemoveRace(service); service.OnRaceCancelled += _ => RemoveRace(service); }
public ActiveRaceControlViewModel(SharedRaceStateViewModel raceState, IActiveRaceControlService activeRaceControlService, IRaceStartListService startListService, Func <IActiveRaceControlService, CurrentSkierViewModel> currentSkierVmFactory, Func <IActiveRaceControlService, RankingViewModel> rankingVmFactory, IActiveRaceService activeRaceService) { RaceState = raceState; _activeRaceControlService = activeRaceControlService; _startListService = startListService; _activeRaceService = activeRaceService; CurrentSkierViewModel = currentSkierVmFactory(_activeRaceControlService); RankingViewModel = rankingVmFactory(_activeRaceControlService); SetupCommands(); }