示例#1
0
        public MainViewModel(CommonSettings commonSettings, UserSettings userSettings)
        {
            _commonSettings = commonSettings;
            _userSettings   = userSettings;

            Human    = new HumanPlayerViewModel(userSettings.GameSettings, commonSettings);
            Settings = new AppSettingsViewModel(userSettings.GameSettings.AppSettings);

            MainMenu = new MainMenuViewModel(userSettings)
            {
                IsVisible = false
            };

            BackLink.Default = new BackLink(Settings, userSettings);

            Cancel = new CustomCommand(Cancel_Executed);

            ShowMenu();

            NewGame     = new CustomCommand(New_Executed);
            Open        = new AsyncCommand(OnlineGame_Executed);
            NetworkGame = new CustomCommand(NetworkGame_Executed);
            BestPlayers = new CustomCommand(Best_Executed);
            About       = new CustomCommand(About_Executed);

            SetProfile = new CustomCommand(SetProfile_Executed);

            _startMenu.MainCommands.Add(new UICommand {
                Header = Resources.MainMenu_SingleGame.ToUpper(), Command = NewGame
            });
            _startMenu.MainCommands.Add(new UICommand {
                Header = Resources.MainMenu_OnlineGame.ToUpper(), Command = Open
            });
            _startMenu.MainCommands.Add(new UICommand {
                Header = Resources.MainMenu_NetworkGame.ToUpper(), Command = NetworkGame
            });
            _startMenu.MainCommands.Add(new UICommand {
                Header = Resources.MainMenu_BestPlayers.ToUpper(), Command = BestPlayers
            });
            _startMenu.MainCommands.Add(new UICommand {
                Header = Resources.MainMenu_About.ToUpper(), Command = About
            });
            _startMenu.MainCommands.Add(new UICommand {
                Header = Resources.MainMenu_Exit.ToUpper(), Command = PlatformSpecific.PlatformManager.Instance.Close
            });

            _startMenu.Human = Human;

            _startMenu.SetProfile = SetProfile;

            CancelUpdate = new CustomCommand(obj => Update = null);

            Human.NewAccountCreating += HumanPlayer_NewAccountCreating;
            Human.NewAccountCreated  += HumanPlayer_NewAccountCreated;
            Human.AccountEditing     += Human_AccountEditing;

            ShowSlideMenu = new CustomCommand(ShowSlideMenu_Executed);
        }
示例#2
0
 internal BackLink(AppSettingsViewModel settings, UserSettings userSettings)
 {
     _settings     = settings;
     _userSettings = userSettings;
 }