Ejemplo n.º 1
0
        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;
            });
        }
Ejemplo n.º 2
0
        public LocalGameState(LocalGame game, MainNavigationModel mainNavigation)
        {
            _game = game;
            _mainNavigation = mainNavigation;

            _depGameBoardRaw = new Dependent(UpdateGameBoardRaw);
            _depGameBoard = new Dependent(UpdateGameBoard);
            _depPreviewBoard = new Dependent(UpdatePreviewBoard);
        }
Ejemplo n.º 3
0
        protected PlayerGameViewModel(MainNavigationModel mainNavigation)
        {
            _mainNavigation = mainNavigation;

            _depGameState = new Dependent(() =>
            {
                _gameState = Player == null
                    ? null
                    : new RemoteGameState(Player, _mainNavigation);
            });
        }
Ejemplo n.º 4
0
        public RemoteGameState(Player player, MainNavigationModel mainNavigation)
        {
            _player = player;
            _mainNavigation = mainNavigation;
            if (_player != null)
            {
                _myColor = _player.Index == 0 ? PieceColor.Black : PieceColor.White;
            }

            _depGameBoardRaw = new Dependent(UpdateGameBoardRaw);
            _depGameBoard = new Dependent(UpdateGameBoard);
            _depPreviewBoard = new Dependent(UpdatePreviewBoard);
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
 public GameSummaryViewModel(Player player, MainNavigationModel mainNavigation)
 {
     _player = player;
     _mainNavigation = mainNavigation;
     _gameState = new RemoteGameState(player, _mainNavigation);
 }
Ejemplo n.º 7
0
 public MainViewModel(IPresentationServices presentationServices, Identity identity, MainNavigationModel mainNavigation)
 {
     _presentationServices = presentationServices;
     _identity = identity;
     _mainNavigation = mainNavigation;
 }
Ejemplo n.º 8
0
 public LocalGameViewModel(LocalGame localGame, MainNavigationModel mainNavigation)
 {
     _gameState = new LocalGameState(localGame, mainNavigation);
     _mainNavigation = mainNavigation;
 }
Ejemplo n.º 9
0
 public GameRequestViewModel(GameRequest gameRequest, MainNavigationModel mainNavigation)
     : base(mainNavigation)
 {
     _gameRequest = gameRequest;
 }
Ejemplo n.º 10
0
 public ChallengeViewModel(User user, MainNavigationModel mainNavigation)
 {
     _user = user;
     _mainNavigation = mainNavigation;
 }
Ejemplo n.º 11
0
 public ChatViewModel(Player selectedPlayer, MainNavigationModel mainNavigation)
 {
     _selectedPlayer = selectedPlayer;
     _mainNavigation = mainNavigation;
 }
Ejemplo n.º 12
0
 public RemoteGameViewModel(Player player, MainNavigationModel mainNavigation)
     : base(mainNavigation)
 {
     _player = player;
 }