/// <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); }
// 소분류탭 함수 (여기서 상점프로토콜 요청) 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 = ""; }
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); }