public NewGameViewModel(Identity identity, MainNavigationModel mainNavigation, NameNavigationModel nameNavigation) { _identity = identity; _mainNavigation = mainNavigation; _nameNavigation = nameNavigation; _depState = new Dependent(delegate { _state = _identity.User != null ? StateId.Challenge : _identity.Claims.Any(claim => !claim.Responses.Any()) ? StateId.PendingUserName : StateId.YourName; }); _depChallenge = new Dependent(delegate { _depState.OnGet(); _challenge = _state == StateId.Challenge ? new ChallengeViewModel(_identity.User, _mainNavigation) : null; }); _depYourName = new Dependent(delegate { _depState.OnGet(); _yourName = _state == StateId.YourName ? new YourNameViewModel(_identity, _nameNavigation) : null; }); _depPendingUserName = new Dependent(delegate { _depState.OnGet(); _pendingUserName = _state == StateId.PendingUserName ? new PendingUserNameViewModel(_identity.Claims.FirstOrDefault(claim => !claim.Responses.Any())) : null; }); }
public ViewModelLocator(Identity identity, IPresentationServices presentationServices, MainNavigationModel mainNavigationModel, NameNavigationModel nameNavigationModel) { _identity = identity; _presentationServices = presentationServices; _mainNavigationModel = mainNavigationModel; _nameNavigationModel = nameNavigationModel; _main = new MainViewModel(_presentationServices, _identity, _mainNavigationModel); _newGame = new NewGameViewModel(_identity, _mainNavigationModel, _nameNavigationModel); _depGame = new Dependent(delegate { if (_mainNavigationModel.SelectedPlayer != null) { _game = new RemoteGameViewModel(_mainNavigationModel.SelectedPlayer, _mainNavigationModel); } else if (_mainNavigationModel.SelectedGameRequest != null) { _game = new GameRequestViewModel(_mainNavigationModel.SelectedGameRequest, _mainNavigationModel); } else { LocalGame localGame = _identity.ActiveLocalGames.FirstOrDefault(); if (localGame != null) _game = new LocalGameViewModel(localGame, _mainNavigationModel); else _game = null; } }); _depChat = new Dependent(delegate { _chat = _mainNavigationModel.SelectedPlayer == null ? null : new ChatViewModel(_mainNavigationModel.SelectedPlayer, _mainNavigationModel); }); _settings = new SettingsViewModel(_identity); }
public YourNameViewModel(Identity identity, NameNavigationModel nameNavigation) { _identity = identity; _nameNavigation = nameNavigation; }