示例#1
0
 public void ChangeState(StarMenu.MenuItemId nextState)
 {
     state = nextState;
     if (nextState == StarMenu.MenuItemId.Start_Menu)
     {
         Init();
     }
 }
示例#2
0
    public void UpdateOnStart()
    {
        logo.Update();
        switch (state)
        {
        case StarMenu.MenuItemId.Start_Menu:
            textMenu.Update();

            if (ButtonManager.GetDown(ButtonManager.ButtonID.X, this))
            {
                StarMenu.MenuItemId nextState = (StarMenu.MenuItemId)(textMenu.menuIndex.Get());
                if (!hasSelectedSave)
                {
                    nextState++;
                }

                if (!hasSomeSave)
                {
                    if (nextState >= StarMenu.MenuItemId.Load_Game)
                    {
                        nextState++;
                    }
                }

                switch (nextState)
                {
                case StarMenu.MenuItemId.New_Game:
                    gameManager.NewGame();
                    break;

                case StarMenu.MenuItemId.Continue:
                    gameManager.LoadGame();
                    break;

                case StarMenu.MenuItemId.Exit:
                    Application.Quit();
                    break;

                default:
                    ChangeState(nextState);
                    break;
                }
            }

            break;

        case StarMenu.MenuItemId.Options:
            options.Update();

            if (ButtonManager.GetDown(ButtonManager.ButtonID.X, this))
            {
                for (int i = 0; i < gameManager.menuJson.optionsMenu.Length; i++)
                {
                    for (int j = 0; j < gameManager.menuJson.optionsMenu[i].items.Length; j++)
                    {
                        switch (gameManager.menuJson.optionsMenu[i].items[j].type)
                        {
                        case MenuJson.OptionMenuTab.OptionsMenuItem.Type.Special:
                            switch (gameManager.menuJson.optionsMenu[i].items[j].special)
                            {
                            case MenuJson.OptionMenuTab.OptionsMenuItem.SpecialType.Language:
                                break;

                            case MenuJson.OptionMenuTab.OptionsMenuItem.SpecialType.TitleFont:
                                gameManager.saveJson.config.titleFontIndex = gameManager.menuJson.optionsMenu[i].items[j].comboSelected.Get();
                                break;

                            case MenuJson.OptionMenuTab.OptionsMenuItem.SpecialType.TextFont:
                                gameManager.saveJson.config.textFontIndex = gameManager.menuJson.optionsMenu[i].items[j].comboSelected.Get();
                                break;

                            case MenuJson.OptionMenuTab.OptionsMenuItem.SpecialType.ComboTexture:
                                ButtonManager.SetControllerTexture((ButtonManager.Controll)gameManager.menuJson.optionsMenu[i].items[j].comboSelected.Get());
                                break;
                            }
                            break;
                        }
                    }
                }
                gameManager.ChangeLanguage(gameManager.languagues[gameManager.menuJson.optionsMenu[0].items[0].comboSelected.Get()].name);
                ChangeState(StarMenu.MenuItemId.Start_Menu);
            }

            break;

        case StarMenu.MenuItemId.Load_Game:
            loadZone.Update();
            load.Update();

            if (ButtonManager.GetDown(ButtonManager.ButtonID.TRIANGLE, this))
            {
                gameManager.RemoveGame(load.menuIndex.Get());
                if (gameManager.saveJson.saves.Length == 0)
                {
                    ChangeState(StarMenu.MenuItemId.Start_Menu);
                }
                load.Init();
            }
            else if (ButtonManager.GetDown(ButtonManager.ButtonID.X, this))
            {
                gameManager.LoadGame(load.menuIndex.Get());
            }
            break;

        default:
            ChangeState(StarMenu.MenuItemId.Start_Menu);
            break;
        }

        if (ButtonManager.GetDown(ButtonManager.ButtonID.CIRCLE, this))
        {
            ChangeState(StarMenu.MenuItemId.Start_Menu);
        }
    }