Exemplo n.º 1
0
    void Update()
    {
        if (recordedState != GameState.State)
        {
            bool previouslyTheme = recordedState == Menu.GameState.PlayerSelect || recordedState == Menu.GameState.Title;
            recordedState = GameState.State;
            switch (recordedState)
            {
            case Menu.GameState.PlayerSelect:
            case Menu.GameState.Title:
                if (!previouslyTheme)
                {
                    source.clip = musicTheme;
                    source.Play();
                }
                break;

            case Menu.GameState.Game:
                source.clip = musicFight;
                source.Play();
                break;

            case Menu.GameState.GameResults:
                source.clip = musicGameOver;
                source.Play();
                break;
            }
        }
    }
Exemplo n.º 2
0
        static void Main(string[] args)
        {
            Dictionary <Menu.GameState, Menu> menus = new Dictionary <Menu.GameState, Menu>();

            //Skapar en dictionary. i dictionaryn sparas ett gamestate och en av klasserna till Menu hirearkin på samma platts i dictionaryn

            menus.Add(Menu.GameState.menu, new Menu());
            menus.Add(Menu.GameState.help, new Help());
            menus.Add(Menu.GameState.quit, new Quit());
            menus.Add(Menu.GameState.inGame, new Game());
            menus.Add(Menu.GameState.shop, new Shop());
            menus.Add(Menu.GameState.gameLost, new Lose());
            //menus.Add(Menu.GameState.gameWon, new Won());

            //Lägger till gamestates och klasser från Menu klasshirearkin i dictionaryn
            //Gör att jag kan kalla på klassen med hjälp av gamestates

            Menu.GameState currentMenu = Menu.GameState.menu;
            //Skapar en ny instans av enumen GameState, vilket gör det möjligt att byta mellan states och spela rätt metod baserat på vad spelets gamestate är för tillfället

            while (currentMenu != Menu.GameState.superQuit)
            {
                currentMenu = menus[currentMenu].VisualiseMenu();
                //Kommer spela metoden så länge currentMenu inte är superQuit (gamestate som enbart stänger ner programmet)
                //Checkar dictionaryn menus och spelar metoden VisualiseMenu() baserat på vilket gamestate spelet befinner sig i.
            }
        }
Exemplo n.º 3
0
 void Start()
 {
     source      = Instance.GetComponent <AudioSource>().audio;
     source.clip = musicTheme;
     source.Play();
     recordedState = Menu.GameState.Title;
 }
Exemplo n.º 4
0
        private string extraAction;        //action other than state load (such as saving/loading)

        /// <summary>
        /// Creates a button.
        /// </summary>
        /// <param name="theText">text inside the button</param>
        /// <param name="thePosition">position of the button onscreen</param>
        /// <param name="theState">Game state to load on click</param>
        public Button(string theText, Vector2 thePosition, Menu.GameState theState)
        {
            Position     = thePosition;
            textPosition = new Vector2(Position.X + 5, Position.Y + 5);
            Text         = theText;
            stateToLoad  = theState;
            BoundingBox  = new Rectangle((int)thePosition.X, (int)thePosition.Y, (int)Game1.font.MeasureString(Text).X + 10, (int)Game1.font.MeasureString(Text).Y + 10);
        }
Exemplo n.º 5
0
 public override void Update(InputState inputState, Menu.GameState gameState)
 {
     base.Update(inputState, gameState);
     if (Visible && mObject != null && mObject.Position != mWorldPosition)
     {
         mWorldPosition = mObject.Position;
         UpdateButtons();
     }
 }
Exemplo n.º 6
0
        /// <summary>
        /// This method is loaded once at the beginning of runtime
        /// </summary>
        protected override void Initialize()
        {
            cHero        = new Hero();
            lEnemies     = new List <Sprite>();
            cArea        = new Area();
            cGameUI      = new GameUI();
            cCombat      = new Combat();
            cSave        = new Save();
            cMenu        = new Menu();
            currentState = Menu.GameState.MainMenu;

            base.Initialize(); //last line
        }
        public void Update(InputState inputState, Menu.GameState gameState)
        {
            if ((UnitSelectionBox.Instance.Height > 0.2 || UnitSelectionBox.Instance.Width > 0.2) && mActive)
            {
                mTileMenu.Clear();
                mObjectMenu.Clear();
            }

            if (UnitSelectionBox.Instance.Height > 0.2 || UnitSelectionBox.Instance.Width > 0.2)
            {
                ObjectManager.Instance.ClearSelected();
                UnitSelectionBox.Select(ObjectManager.Instance.GetQuadTree().GetGameObjects(new Vector2(UnitSelectionBox.Instance.X, UnitSelectionBox.Instance.Y), new Vector2(UnitSelectionBox.Instance.X + UnitSelectionBox.Instance.Width, UnitSelectionBox.Instance.Y + UnitSelectionBox.Instance.Height), true), false, mMousePosition1);
            }

            if (mBox)
            {
                UnitSelectionBox.Instance.Update(mMousePosition1);
            }
            mTileMenu.Update(inputState, gameState);
            mObjectMenu.Update(inputState, gameState);
        }
Exemplo n.º 8
0
        /// <summary>
        /// Runs once every frame to update the content on screen.
        /// </summary>
        protected override void Update(GameTime gameTime)
        {
            if (IsActive)
            {
                currentMouseState    = Mouse.GetState();
                currentKeyboardState = Keyboard.GetState();

                cSave.Update();
                switch (currentState)
                {
                case Menu.GameState.Playing:
                    //see if escape key is pressed
                    if (currentKeyboardState.IsKeyDown(Keys.Escape) &&
                        !lastKeyboardState.IsKeyDown(Keys.Escape))
                    {
                        currentState = Menu.GameState.PauseMenu;
                    }
                    //see if game window is visible
                    if (!IsActive)
                    {
                        currentState = Menu.GameState.PauseMenu;
                    }
                    cArea.Update(gameTime);
                    cHero.Update(gameTime);
                    cCombat.Update(gameTime);
                    foreach (Sprite Enemy in lEnemies)
                    {
                        Enemy.Update(gameTime);
                    }
                    break;

                case Menu.GameState.MainMenu:
                    cMenu.mainMenu.Update(gameTime);
                    break;

                case Menu.GameState.HelpMenu:
                    cMenu.helpMenu.Update(gameTime);
                    break;

                case Menu.GameState.PauseMenu:
                    cMenu.pauseMenu.Update(gameTime);
                    break;

                case Menu.GameState.WinMenu:
                    cMenu.winMenu.Update(gameTime);
                    break;

                case Menu.GameState.GameOver:
                    cMenu.gameOverMenu.Update(gameTime);
                    break;

                case Menu.GameState.ResetStats:
                    cSave.DeleteExisting(cSave.saveFileHero);
                    cSave.DeleteExisting(cSave.saveFileRooms);
                    cHero.totalEnemiesKilled = 0;
                    cHero.Position.X         = cHero.startPositionX;
                    cHero.Position.Y         = cHero.startPositionY;
                    cArea.currentRoom        = 0;
                    currentState             = Menu.GameState.Playing;
                    break;

                case Menu.GameState.Exit:
                    Exit();
                    break;
                }

                lastKeyboardState = currentKeyboardState;
                lastMouseState    = currentMouseState;
                base.Update(gameTime); //last line
            }
        }