Ejemplo n.º 1
0
    /// <summary> 탭 버튼에 따라 보고있는 뷰를 바꿔준다  </summary>
    void ChangeView(eMainTab type)
    {
        if (CurViewType == type)//동일하므로 무시
        {
            return;
        }

        for (int j = 0; j < SelEff.Length; j++)
        {
            SelEff[j].SetActive(false);
        }

        //eMainTab prevType = CurViewType;
        CurViewType = type;

        // 탭마다 소분류탭이 다르기때문에 셋팅을 해줘야함
        SetChildTab(CurViewType);
    }
Ejemplo n.º 2
0
    // 소분류탭 함수 (여기서 상점프로토콜 요청)
    void OnClickChildTab(eMainTab curTab, int childTabNumber)
    {
        //UIScrollView scorll = ChildTabRoot.GetComponent<UIScrollView>();
        //scorll.enabled = curTab == eMainTab.CASH ? true : false;

        //On/Off 이미지교체랑 콜라이더 해제 작업
        for (int i = 0; i < ChildTabRoot.childCount; i++)
        {
            GameObject go = ChildTabRoot.GetChild(i).gameObject;
            if (!go.activeSelf)
            {
                continue;
            }

            if (i != childTabNumber)     // Off 켜주고 콜라이더켜줘
            {
                go.transform.FindChild("On").gameObject.SetActive(false);
                go.transform.FindChild("Off").gameObject.SetActive(true);
                go.GetComponent <BoxCollider>().enabled = true;
            }
            else    // On켜주고 콜라이더 ㄲㅓ줘
            {
                go.transform.FindChild("On").gameObject.SetActive(true);
                go.transform.FindChild("Off").gameObject.SetActive(false);
                go.GetComponent <BoxCollider>().enabled = false;
            }
        }

        for (int j = 0; j < SelEff.Length; j++)
        {
            SelEff[j].SetActive(false);
        }

        switch (curTab)
        {
        case eMainTab.NONE:
            break;

        case eMainTab.CASH:
            //Debug.Log(ChildCashTab[childTabNumber]);
            //if (childTabNumber == 7)//가챠
            //{
            //    base.Hide();
            //    uiMgr.IsShop = true;
            //    NetworkClient.instance.SendPMsgLotteryQueryInfoC();
            //}
            //else
            //{
            SceneManager.instance.ShowNetProcess("GetShopInfo");
            NetworkClient.instance.SendPMsgShopInfoQueryC(ChildCashTab[childTabNumber]);
            //}
            break;

        case eMainTab.GOLD:
            // Debug.Log(ChildCashTab[childTabNumber]);
            SceneManager.instance.ShowNetProcess("GetShopInfo");
            NetworkClient.instance.SendPMsgShopInfoQueryC(ChildGoldTab[childTabNumber]);
            break;

        case eMainTab.CHANGE:
            //Debug.Log(ChildCashTab[childTabNumber]);

            if (childTabNumber == /*3*/ 2)       //길드상점 , 레벨을 받아와야함
            {
                //미가입 팝업처리
                if (NetData.instance.GetUserInfo()._GuildId == 0)
                {
                    uiMgr.AddPopup(141, 957, 117);
                }
                else
                {
                    NetworkClient.instance.SendPMsgGuildQueryDetailedInfoC(NetData.instance.GetUserInfo()._GuildId);
                }
            }
            else
            {
                SceneManager.instance.ShowNetProcess("GetShopInfo");
                NetworkClient.instance.SendPMsgShopInfoQueryC(ChildChangeTab[childTabNumber]);
            }

            break;

        case eMainTab.CHARGE:       //충전은따로뺄까?
            break;
        }

        GoodsInfo.text     = "";
        UseSellAmount      = 0;
        UseSellTotalAmount = 0;
        TotalNum.text      = "0";
        TotalPrice.text    = "0";
        TimeItemInfo.text  = "";
    }
Ejemplo n.º 3
0
    void SetChildTab(eMainTab CurViewType /*, bool lateInitLoad = false*/)
    {
        int[]  childTabCount = { 8, 5, /*5*/ 4 };                      //자식탭수
        uint[] stringTab1    = { 816, 817, 818, 6, 7, 819, 820, 539 }; //탭의 이른 스트링커먼아이디 (일단임시로 박음)
        uint[] stringTab2    = { 816, 817, 818, 6, 7 };
        uint[] stringTab3    = { 452, 194, /*461,*/ 8, 12 };           //판호를위해 차관이랑 사자왕 지워놓자
        uint[] curChildTab   = { };
        switch (CurViewType)
        {
        case eMainTab.CASH:
            curChildTab = stringTab1;
            break;

        case eMainTab.GOLD:
            curChildTab = stringTab2;
            break;

        case eMainTab.CHANGE:
            curChildTab = stringTab3;
            break;

        case eMainTab.CHARGE:
            break;

        default:
            break;
        }

        for (int i = 0; i < ChildTabRoot.childCount; i++)
        {
            GameObject go = ChildTabRoot.GetChild(i).gameObject;

            //현재 상점데이터가 없어서 첫번째 텝에 다몰아넣어놈 , 첫째탭제외하고 다 숨겨놓기 (데이터 들어오면 다시켜줘여함)
            if (i != 0)
            {
                go.SetActive(false);
                continue;
            }
            // for panho build. hide vip tab.
            //if (i == 6)
            //{
            //    go.SetActive(false);
            //    continue;
            //}

            if (i >= childTabCount[(int)CurViewType - 1])    //넘어감
            {
                go.SetActive(false);
                continue;
            }
            else
            {
                go.SetActive(true);
                for (int j = 0; j < go.transform.childCount; j++)
                {
                    //탭이름변경
                    go.transform.GetChild(j).FindChild("label_d3").GetComponent <UILabel>().text = _LowDataMgr.instance.GetStringCommon(curChildTab[i]);
                }
            }
            int idx = i;
            EventDelegate.Set(go.GetComponent <UIButton>().onClick, delegate() { OnClickChildTab(CurViewType, idx); }); //버튼클릭함수
        }


        if (!lateInitLoad)
        {
            //처음은 무조건 첫번째소분류탭으로 나오게한다.
            OnClickChildTab(CurViewType, 0);
        }
        else
        {
            // 다른패널에서 호출됫음
            OnClickChildTab(CurViewType, ChildTabNum);
            lateInitLoad = false;
        }

        //TimeItemInfo.gameObject.SetActive(false);
    }