public MultiplayerViewModel(IMultiplayerModel model, string gameName, int mazeRows, int mazeCols)
 {
     _model = model;
     _model.OnPlayerMoved   += PlayerMoved;
     _model.OnOpponentMoved += OpponentMoved;
     _model.OnGameReceived  += UpdateMaze;
     _model.StartGame(gameName, mazeRows, mazeCols);
 }
 public MultiplayerViewModel(IMultiplayerModel model, string gameName)
 {
     _model = model;
     _model.OnPlayerMoved   += PlayerMoved;
     _model.OnOpponentMoved += OpponentMoved;
     _model.OnGameReceived  += UpdateMaze;
     _model.JoinGame(gameName);
 }
        public IMultiPlayerViewModel StartGame()
        {
            if (!IsValidInput())
            {
                return(null);
            }

            IMultiplayerModel model = ModelFactory.Instace.GetMultiPlayerModel();

            return(new MultiplayerViewModel(model, MazeName, MazeRows, MazeCols));
        }
        public IMultiPlayerViewModel JoinGame()
        {
            IMultiplayerModel model = ModelFactory.Instace.GetMultiPlayerModel();

            return(new MultiplayerViewModel(model, SelectedGame));
        }