private static void DrawInGameMenu(GameModel model, Painter painter, Graphics g, Font font)
        {
            ScreenModelTitleMenu t = model.SMTitleMenu;
            String textSaveMenu    = model.ReferenceData.MenuInGameToText[MenuOptionInGame.SaveAndMenu];

            DrawMenuOption(model, painter, g, font, textSaveMenu, t.InGameMenuSaveAndMenuUIE.LogicalPosition, t.InGameMenuSaveAndMenuUIE.IsMousedOver);
            String textSaveExit = model.ReferenceData.MenuInGameToText[MenuOptionInGame.SaveAndExit];

            DrawMenuOption(model, painter, g, font, textSaveExit, t.InGameMenuSaveAndExitUIE.LogicalPosition, t.InGameMenuSaveAndExitUIE.IsMousedOver);
            String textReturn = model.ReferenceData.MenuInGameToText[MenuOptionInGame.Return];

            DrawMenuOption(model, painter, g, font, textReturn, t.InGameMenuReturnUIE.LogicalPosition, t.InGameMenuReturnUIE.IsMousedOver);
        }
        internal static void ApplyInput(GameModel model, UserInput userInput)
        {
            ScreenModelTitleMenu t = model.SMTitleMenu;

            switch (model.World.StatePrimary)
            {
            case GameStatePrimary.GameInProgressMenu: AcceptInputInProgressMenu(model, t, userInput); break;

            case GameStatePrimary.LoadingResources: break;     // Don't accept any input.

            case GameStatePrimary.MainMenu: AcceptInputMainMenu(model, t, userInput); break;
            }
        }
        private static void DrawMainMenu(GameModel model, Painter painter, Graphics g, Font font)
        {
            ScreenModelTitleMenu t = model.SMTitleMenu;
            String textNewGame     = model.ReferenceData.MenuMainToText[MenuOptionPrimary.NewGame];

            DrawMenuOption(model, painter, g, font, textNewGame, t.MainNewGameUIE.LogicalPosition, t.MainNewGameUIE.IsMousedOver);
            String textLoadGame = model.ReferenceData.MenuMainToText[MenuOptionPrimary.LoadGame];

            DrawMenuOption(model, painter, g, font, textLoadGame, t.MainLoadGameUIE.LogicalPosition, t.MainLoadGameUIE.IsMousedOver);
            String textCredits = model.ReferenceData.MenuMainToText[MenuOptionPrimary.Credits];

            DrawMenuOption(model, painter, g, font, textCredits, t.MainCreditsUIE.LogicalPosition, t.MainCreditsUIE.IsMousedOver);
            String textExitGame = model.ReferenceData.MenuMainToText[MenuOptionPrimary.ExitGame];

            DrawMenuOption(model, painter, g, font, textExitGame, t.MainExitGameUIE.LogicalPosition, t.MainExitGameUIE.IsMousedOver);
        }
        private static void AcceptInputMainMenu(GameModel model, ScreenModelTitleMenu t, UserInput userInput)
        {
            if ((t.MainNewGameUIE.IsMousedOver && userInput.IsKeyDownWithDelay(Keys.LButton)) || userInput.IsKeyDownWithDelay(Keys.N))
            {
                model.NewGame();
            }

            if ((t.MainLoadGameUIE.IsMousedOver && userInput.IsKeyDownWithDelay(Keys.LButton)) || userInput.IsKeyDownWithDelay(Keys.L))
            {
                model.LoadGame();
            }

            if ((t.MainExitGameUIE.IsMousedOver && userInput.IsKeyDownWithDelay(Keys.LButton)) || userInput.IsKeyDownWithDelay(Keys.L))
            {
                model.ExitGame();
            }
        }
Ejemplo n.º 5
0
        public GameModel()
        {
            PrepareDataLoader();
            m_gameWorld     = new GameWorld(this);
            m_referenceData = new GameReferenceData();
            m_gameConfig    = new GameConfig(this);
            m_tickUpdater   = new GameTickUpdater(this);

            m_smCharacterDetail = new ScreenModelCharacterDetail(this);
            m_smCredits         = new ScreenModelCredits(this);
            m_smPressYourLuck   = new ScreenModelPressYourLuck(this);
            m_smTitleMenu       = new ScreenModelTitleMenu(this);

            GameCamera.InitializeViewCamera(Camera);

            TimeWaveManager.InitializeGameModel(this);

            World.StatePrimary = GameStatePrimary.LoadingResources;
        }
        private static void AcceptInputInProgressMenu(GameModel model, ScreenModelTitleMenu t, UserInput userInput)
        {
            if ((t.InGameMenuReturnUIE.IsMousedOver && userInput.IsKeyDownWithDelay(Keys.LButton)) || userInput.IsKeyDownWithDelay(Keys.R) ||
                userInput.IsKeyDownWithDelay(Keys.Escape))
            {
                model.ReturnToGame();
            }

            if ((t.InGameMenuSaveAndMenuUIE.IsMousedOver && userInput.IsKeyDownWithDelay(Keys.LButton)) || userInput.IsKeyDownWithDelay(Keys.M) ||
                userInput.IsKeyDownWithDelay(Keys.S))
            {
                model.SaveGameAndMenu();
            }

            if ((t.InGameMenuSaveAndExitUIE.IsMousedOver && userInput.IsKeyDownWithDelay(Keys.LButton)) || userInput.IsKeyDownWithDelay(Keys.E) ||
                userInput.IsKeyDownWithDelay(Keys.X))
            {
                model.SaveGameAndExit();
            }
        }