예제 #1
0
    FOOTER_MENU_TYPE ConvertCategoryToFooterMenuType(MAINMENU_CATEGORY category)
    {
        FOOTER_MENU_TYPE type = FOOTER_MENU_TYPE.NONE;

        switch (category)
        {
        case MAINMENU_CATEGORY.UNIT:
            //type = FOOTER_MENU_TYPE.UNITS;
            break;

        case MAINMENU_CATEGORY.SHOP:
            //type = FOOTER_MENU_TYPE.SHOP;
            break;

        case MAINMENU_CATEGORY.HOME:
            type = FOOTER_MENU_TYPE.HOME;
            break;

        case MAINMENU_CATEGORY.GACHA:
            type = FOOTER_MENU_TYPE.SCRATCH;
            break;

        case MAINMENU_CATEGORY.QUEST:
            type = FOOTER_MENU_TYPE.QUEST;
            break;
        }
        return(type);
    }
예제 #2
0
    /// <summary>
    /// メニュータイプ設定
    /// </summary>
    /// <param name="type"></param>
    public void setMenuType(FOOTER_MENU_TYPE type)
    {
        var enableFlagReferenceMap = new Dictionary <int, M4uProperty <bool> >
        {
            { (int)FOOTER_MENU_TYPE.HOME, homeenable },
            { (int)FOOTER_MENU_TYPE.UNITS, unitenable },
            { (int)FOOTER_MENU_TYPE.SCRATCH, scratchenable },
            { (int)FOOTER_MENU_TYPE.SHOP, shopenable },
            { (int)FOOTER_MENU_TYPE.QUEST, helpenable }
        };

        m_CurrentMenuType = type;

        for (int _index = 0; _index < (int)FOOTER_MENU_TYPE.MAX; _index++)
        {
            enableFlagReferenceMap[_index].Value = m_ActiveFooterTouch;
        }
    }
예제 #3
0
    // Use this for initialization
    void Start()
    {
        setMenuType(FOOTER_MENU_TYPE.HOME);

        FrameImage = ResourceManager.Instance.Load("big_footer", ResourceType.Menu);

        MainMenuManager.Instance.RegisterOnCategoryChangedCallback((MAINMENU_CATEGORY category) =>
        {
            FOOTER_MENU_TYPE type = ConvertCategoryToFooterMenuType(category);
            if (type != m_CurrentMenuType && type != FOOTER_MENU_TYPE.NONE && type != FOOTER_MENU_TYPE.MAX)
            {
                setMenuType(type);
            }

            UpdateButtonSelected(category);
            UpdateBufEvent();
        });

        UpdateButtonSelected(MainMenuManager.Instance.currentCategory);
        IsHelpBufEvent = false;
    }
예제 #4
0
    private void openSubMenu(FOOTER_MENU_TYPE _type, MAINMENU_CATEGORY _category)
    {
        if (m_FooterSubMenu != null)
        {
            MAINMENU_CATEGORY _prevCategory = m_FooterSubMenu.Category;
            closeSubMenu();
            if (_prevCategory == _category)
            {
                return;
            }
        }
        if (m_SubMenuObject == null)
        {
            if (_type != FOOTER_MENU_TYPE.UNITS)
            {
                m_SubMenuObject = Resources.Load("Prefab/MainMenu/FooterSubMenu") as GameObject;
            }
            else
            {
                m_SubMenuObject = Resources.Load("Prefab/MainMenu/FooterSubMenuDouble") as GameObject;
            }
            if (m_SubMenuObject == null)
            {
                return;
            }
        }

        //ユニットのときはスキルアップイベントのチェック
        if (_category == MAINMENU_CATEGORY.UNIT)
        {
            CheckSkillUpEvent();
        }

        GameObject _insObj = Instantiate(m_SubMenuObject);

        if (_insObj == null)
        {
            return;
        }
        _insObj.transform.SetParent(ButtonList[(int)_type].transform, false);
        _insObj.transform.SetParent(subRoot.transform, true);

        m_FooterSubMenu = _insObj.GetComponent <FooterSubMenu>();
        m_FooterSubMenu.setup(_category);
        m_FooterSubMenu.DidSelectClose = () =>
        {
            closeSubMenu();
        };
        m_FooterSubMenu.DidSelectCancel = () =>
        {
            closeSubMenu();
        };

        m_FooterSubMenu.Show();

        foreach (var eachButton in m_buttons)
        {
            eachButton.isSelected = eachButton.IsCategoryOf(_category);
        }

        AndroidBackKeyManager.Instance.StackPush(m_FooterSubMenu.gameObject, OnSelectBackKey);
    }
예제 #5
0
    /// <summary>
    /// メニュー選択
    /// </summary>
    /// <param name="type"></param>
    public void OnTouchMenu(FOOTER_MENU_TYPE type)
    {
        bool bChange = false;

        if (MainMenuManager.HasInstance)
        {
            if (m_CurrentMenuType == type &&
                MainMenuManager.Instance.CheckPageActive(seqList[(int)type]))
            {
                if (IsSubMenuOpened())
                {
                    closeSubMenu();
                }

                return;
            }

            switch (type)
            {
            case FOOTER_MENU_TYPE.UNITS:
                if (m_FooterSubMenu != null &&
                    m_FooterSubMenu.Category == MAINMENU_CATEGORY.UNIT)
                {
                    SoundUtil.PlaySE(SEID.SE_MENU_RET);
                }
                else
                {
                    SoundUtil.PlaySE(SEID.VOICE_INGAME_MM_FOOT_UNIT);
                }

                openSubMenu(type, MAINMENU_CATEGORY.UNIT);
                break;

            case FOOTER_MENU_TYPE.SHOP:
                if (m_FooterSubMenu != null &&
                    m_FooterSubMenu.Category == MAINMENU_CATEGORY.SHOP)
                {
                    SoundUtil.PlaySE(SEID.SE_MENU_RET);
                }
                else
                {
                    SoundUtil.PlaySE(SEID.VOICE_INGAME_MM_FOOT_SHOP);
                }

                openSubMenu(type, MAINMENU_CATEGORY.SHOP);
                break;

            case FOOTER_MENU_TYPE.QUEST:
            {
                SoundUtil.PlaySE(SEID.VOICE_INGAME_MM_FOOT_QUEST);

                //クエスト選択画面と成長ボス選択画面以外は選択保存情報へ遷移
                if (MainMenuManager.Instance.WorkSwitchPageNow != MAINMENU_SEQ.SEQ_QUEST_SELECT &&
                    MainMenuManager.Instance.WorkSwitchPageNow != MAINMENU_SEQ.SEQ_CHALLENGE_SELECT)
                {
                    //選択保存情報へ遷移
                    bChange = MainMenuParam.SetupSaveSelect();
                }

                if (bChange == false)
                {
                    //失敗した場合はデフォルト位置へ
                    MainMenuParam.m_RegionID = MasterDataUtil.GetRegionIDFromCategory(MasterDataDefineLabel.REGION_CATEGORY.STORY);
                    bChange = MainMenuManager.Instance.AddSwitchRequest(seqList[(int)type], false, false);
                }
                closeSubMenu();
            }
            break;

            case FOOTER_MENU_TYPE.SCRATCH:
            {
                SoundUtil.PlaySE(SEID.VOICE_INGAME_MM_FOOT_SCRATCH);

                MainMenuParam.m_GachaMaster = null;
                MasterDataGacha[] gachaArray = MasterDataUtil.GetActiveGachaMaster();
                if (gachaArray != null && gachaArray.Length > 0)
                {
                    MainMenuParam.m_GachaMaster = gachaArray[0];
                }

                bChange = MainMenuManager.Instance.AddSwitchRequest(seqList[(int)type], false, false);
                closeSubMenu();
            }
            break;

            case FOOTER_MENU_TYPE.HOME:
            {
                SoundUtil.PlaySE(SEID.VOICE_INGAME_MM_HOME);
                bChange = MainMenuManager.Instance.AddSwitchRequest(seqList[(int)type], false, false);
                closeSubMenu();
            }
            break;
            }
        }
        else
        {
            if (m_CurrentMenuType == type)
            {
                if (IsSubMenuOpened())
                {
                    closeSubMenu();
                }

                return;
            }
            bChange = true;
        }

        if (bChange)
        {
            setMenuType(type);
        }
    }