Esempio n. 1
0
    /// <summary>
    /// リストのオブジェクトが生成された
    /// </summary>
    void OnChangedCollection()
    {
        if (TabGroupObjectList.Count > 0)
        {
            //ScrollContentが機能した後に実行する
            StartCoroutine(DelayScrollContent(() =>
            {
                // リストの表示位置設定
                for (int i = 0; i < TabGroupList.Count; ++i)
                {
                    for (int j = 0; j < TabGroupList[i].SubTabList.Count; ++j)
                    {
                        SubTabContext subTab = TabGroupList[i].SubTabList[j];
                        if (subTab.IsSelect)
                        {
                            Toggle toggle = TabGroupObjectList[i].GetComponentInChildren <Toggle>();
                            if (toggle != null)
                            {
                                toggle.isOn = true;
                                m_CarouselToggler.CenterOnToggled();
                            }

                            return;
                        }
                    }
                }
            }));
        }
    }
Esempio n. 2
0
    private void LoadIconResource()
    {
        for (int i = 0; i < TabGroupList.Count; ++i)
        {
            for (int j = 0; j < TabGroupList[i].SubTabList.Count; ++j)
            {
                SubTabContext subTab = TabGroupList[i].SubTabList[j];

                if (subTab.GachaMaster == null)
                {
                    continue;
                }

                string url = "";
                if (subTab.GachaMaster.url_img == string.Empty)
                {
                    url = string.Format(GlobalDefine.GetScratchIconhUrl(), subTab.GachaMaster.fix_id);
                }
                else
                {
                    url = string.Format(GlobalDefine.GetScratchIconhUrl(), subTab.GachaMaster.url_img);
                }

                WebResource.Instance.GetSprite(url,
                                               (Sprite sprite) =>
                {
                    subTab.IconImage = sprite;
                },
                                               () =>
                {
                    subTab.IconImage = ResourceManager.Instance.Load("dummy_scratch_icon", ResourceType.Common);
                });
            }
        }
    }
Esempio n. 3
0
    /// <summary>
    ///
    /// </summary>
    /// <param name="_tab"></param>
    /// <return>true:切り替えた false:切り替えてない</return>
    private bool OnSelectTab(SubTabContext _tab)
    {
        if (!MainMenuManager.HasInstance ||
            MainMenuManager.Instance.IsPageSwitch())
        {
            return(false);
        }

        if (m_SubMenuType == SUB_TAB_MENU_TYPE.SCRATCH)
        {
            //同じガチャには遷移しない
            if (MainMenuParam.m_GachaMaster.fix_id == _tab.GachaMaster.fix_id)
            {
                return(false);
            }

            MainMenuParam.m_GachaMaster = _tab.GachaMaster;
            ((MainMenuScratch)MainMenuManager.Instance.MainMenuSeqPageNow).changeScratch(_tab.Index);
            changeSubTab(MAINMENU_SEQ.SEQ_GACHA_MAIN);
        }
        else
        {
            MainMenuManager.Instance.AddSwitchRequest(_tab.m_MenuSeq, false, false);
        }

        return(true);
    }
Esempio n. 4
0
    /// <summary>
    /// サブタブ変更
    /// </summary>
    /// <param name="_seq"></param>
    private void changeSubTab(MAINMENU_SEQ _seq)
    {
        for (int i = 0; i < TabGroupList.Count; ++i)
        {
            for (int j = 0; j < TabGroupList[i].SubTabList.Count; ++j)
            {
                SubTabContext subTab = TabGroupList[i].SubTabList[j];
                if (m_SubMenuType == SUB_TAB_MENU_TYPE.FRIEND)
                {
                    subTab.setFlag(subTab.m_MenuSeq == _seq);
                }
                else if (m_SubMenuType == SUB_TAB_MENU_TYPE.SCRATCH)
                {
                    subTab.setFlag(MainMenuParam.m_GachaMaster == subTab.GachaMaster);
                }

                if (subTab.IsSelect == true)
                {
                    Toggle toggle = TabGroupObjectList[i].GetComponentInChildren <Toggle>();
                    if (toggle != null)
                    {
                        toggle.isOn = true;
                    }
                }
            }
        }

        m_CarouselToggler.CenterOnToggled();
    }
Esempio n. 5
0
    /// <summary>
    /// 指定したインデックスのパーティ情報を取得する
    /// </summary>
    /// <param name="index"></param>
    /// <returns></returns>
    public SubTabContext GetSubTab(int index)
    {
        for (int i = 0; i < TabGroupList.Count; ++i)
        {
            for (int j = 0; j < TabGroupList[i].SubTabList.Count; ++j)
            {
                SubTabContext subTab = TabGroupList[i].SubTabList[j];
                if (subTab.Index == index)
                {
                    return(subTab);
                }
            }
        }

        return(null);
    }
Esempio n. 6
0
    /// <summary>
    /// サブタブ構築(スクラッチ用)
    /// </summary>
    /// <param name="_seq"></param>
    private void setupSubTabScratch(MAINMENU_SEQ _seq)
    {
        if (TutorialManager.IsExists == true)
        {
            return;
        }
        MasterDataGacha[] gachaArray = MasterDataUtil.GetActiveGachaMaster();
        if (gachaArray == null || gachaArray.Length == 0)
        {
            return;
        }

        int index = 0;

        for (int j = 0; j < gachaArray.Length; j++)
        {
            if (gachaArray[j] == null)
            {
                continue;
            }

            var model = new ListItemModel((uint)index++);

            SubTabContext _newTab = new SubTabContext(model);
            _newTab.m_MenuSeq      = MAINMENU_SEQ.SEQ_GACHA_MAIN;
            _newTab.IconImage      = null;
            _newTab.IsViewTxtImage = false;
            _newTab.TabName        = "";
            _newTab.GachaMaster    = gachaArray[j];
            _newTab.AlertCount     = (int)MasterDataUtil.GetGachaCountFromMaster(gachaArray[j], GlobalDefine.VALUE_VIEW_MAX_INFO, true);
            _newTab.setFlag(MainMenuParam.m_GachaMaster == gachaArray[j]);
            _newTab.IsViewFlag = MasterDataUtil.IsFirstTimeFree(gachaArray[j]);
            AddData(_newTab);

            model.OnClicked += () =>
            {
                if (OnSelectTab(_newTab) == true)
                {
                    SoundUtil.PlaySE(SEID.SE_MM_A03_TAB);
                }
            };
        }

        LoadIconResource();
    }
Esempio n. 7
0
    /// <summary>
    /// サブタブ構築(その他用)
    /// </summary>
    /// <param name="_seq"></param>
    private void setupSubTabFriend(MAINMENU_SEQ _seq)
    {
        uint totalWaitMe  = 0;
        uint totalWaitHim = 0;

        UserDataAdmin.Instance.GetFriendInfo(ref totalWaitMe, ref totalWaitHim);

        for (int j = 0; j < friendSubTabData.Length; j++)
        {
            int index = j;
            var model = new ListItemModel((uint)index);

            SubTabContext _newTab = new SubTabContext(model);
            _newTab.m_MenuSeq      = friendSubTabData[j].seq;
            _newTab.IconImage      = ResourceManager.Instance.Load(friendSubTabData[j].icon);
            _newTab.IsViewTxtImage = true;
            _newTab.TxtImage       = ResourceManager.Instance.Load(friendSubTabData[j].text);
            _newTab.GachaMaster    = null;
            _newTab.IsViewFlag     = false;
            switch (friendSubTabData[j].seq)
            {
            case MAINMENU_SEQ.SEQ_FRIEND_LIST_WAIT_ME:
                _newTab.AlertCount = (int)totalWaitMe;
                break;

            case MAINMENU_SEQ.SEQ_FRIEND_LIST_WAIT_HIM:
                _newTab.AlertCount = 0;
                break;

            default:
                _newTab.AlertCount = 0;
                break;
            }
            _newTab.setFlag(_newTab.m_MenuSeq == _seq);
            AddData(_newTab);

            model.OnClicked += () =>
            {
                if (OnSelectTab(_newTab) == true)
                {
                    SoundUtil.PlaySE(SEID.SE_MM_A03_TAB);
                }
            };
        }
    }
Esempio n. 8
0
 public void AddData(SubTabContext subtab)
 {
     if (TabGroupList.Count == 0)
     {
         SubTabGroupContext addGroup = new SubTabGroupContext();
         addGroup.SubTabList.Add(subtab);
         TabGroupList.Add(addGroup);
     }
     else
     {
         SubTabGroupContext group = TabGroupList[TabGroupList.Count - 1];
         if (group.SubTabList.Count < 5)
         {
             group.SubTabList.Add(subtab);
         }
         else
         {
             SubTabGroupContext addGroup = new SubTabGroupContext();
             addGroup = new SubTabGroupContext();
             addGroup.SubTabList.Add(subtab);
             TabGroupList.Add(addGroup);
         }
     }
 }