Ejemplo n.º 1
0
 private void MenuLayer_Clicked(HandledEventArgs obj)
 {
     if (_loadGameWindow == null)
     {
         var position = InputManager.GetMousePostion(true);
         if (position.Y < TopBoundary)
         {
             _viewSwitcher.OpenMap(null);
         }
         else if (position.Y > BottomBoundary)
         {
             // TODO: terminate game
         }
         else
         {
             _loadGameWindow = _commonGuiFactory.CreateLoadGameWindow(args =>
             {
                 RemoveElement(_loadGameWindow);
                 _loadGameWindow = null;
                 args.Handled    = true;
             });
             AddElement(_loadGameWindow);
         }
     }
 }
Ejemplo n.º 2
0
        /// <summary>
        /// Load a party in progress
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void LoadGameEvent(object sender, EventArgs e)
        {
            //if (!System.IO.File.Exists("data/savegame.xml"))
            //    return;

            LoadGame = new LoadGameWindow(null);
        }
Ejemplo n.º 3
0
 private void ViewModel_LoadGameOpen(object sender, EventArgs e)
 {
     _viewmodel.SelectedGame = null;
     _model.IsPaused         = true;
     _loadwindow             = new LoadGameWindow();
     _loadwindow.DataContext = _viewmodel;
     _loadwindow.ShowDialog();
 }
Ejemplo n.º 4
0
        public LoadGameWindow CreateLoadGameWindow(Action <HandledEventArgs> onExit)
        {
            var window = new LoadGameWindow(_guiServices, _texts);

            window.ArchiveNameClicked += (args, name) =>
            {
                _viewSwitcher.OpenMenu();
                //TODO: keep archives path in common place
                _gameArchive.LoadGame(Path.Combine("data", "archive", name));
                _viewSwitcher.OpenMap(null);
            };
            if (onExit != null)
            {
                window.ExitClicked += onExit;
            }

            return(window);
        }
Ejemplo n.º 5
0
        IEnumerable <Item> GetMenuItems()
        {
            // Quit
            var Item = new Item(GlblRes.Quit);

            Item.OnClick = () =>
            {
                if (GameRunning)
                {
                    ExitConfirmationWindow.ShowModal();
                    ShowLogo(false);
                    ExitConfirmationWindow.Focused = true;
                }
                else
                {
                    Engine.Exit();
                }
            };

            yield return(Item);

            // Credits
            Item         = new Item(GlblRes.Credits);
            Item.OnClick = () =>
            {
                CreditsWindow.Show();
                ShowLogo(false);
                CreditsWindow.Focused = true;
            };

            yield return(Item);

            // Settings
            Item         = new Item(GlblRes.Settings);
            Item.OnClick = () =>
            {
                SettingsWindow.ShowModal();
                ShowLogo(false);
                SettingsWindow.Focused = true;
            };

            yield return(Item);

            // Load
            Item           = new Item(GlblRes.Load);
            Item.IsVisible = () => { return(SaveGames.Count > 0); };
            Item.OnClick   = () =>
            {
                LoadGameWindow.ShowModal();
                ShowLogo(false);
                LoadGameListbox.Focused = true;
            };
            yield return(Item);

            // Save
            Item           = new Item(GlblRes.Save);
            Item.IsVisible = () => { return(GameRunning); };
            Item.OnClick   = () =>
            {
                ShowLogo(false);
                SaveGameWindow.ShowModal();
            };

            yield return(Item);

            // Continue
            Item         = new Item(GlblRes.Continue);
            Item.OnClick = () =>
            {
                ContinueGame();
            };
            Item.IsVisible = () => { return(GameRunning); };
            yield return(Item);

            // New Game
            Item         = new Item(GlblRes.New_Game);
            Item.OnClick = () =>
            {
                MainMenuBackground.Hide();
                Engine.Renderer.GUIManager.ShowSoftwareCursor = false;
                Engine.StartGame();
            };
            yield return(Item);
        }