using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using GCGame.Table; using Module.Log; public class NewRankRoot : MonoBehaviour { public static NewRankRoot Instance; private void Awake() { Instance = this; } private void OnDisable() { _CurSelectPanelIndex = -1; isShowType = -1; } private void OnDestroy() { Instance = null; } public static int _CurSelectPanelIndex = -1; public void ShowPanel(int index) { if (_CurSelectPanelIndex == index) return; _CurSelectPanelIndex = index; SortRankDic(); InitMenuItemContainer(); } private Dictionary>> _AllRankDic; public void SortRankDic() { if (_AllRankDic != null) { return; } _AllRankDic = new Dictionary>>(); foreach (var tab in TableManager.GetRankInfo().Values) { if(tab.Type == 0 || tab.Type == 1) { var _PageIndex = tab.Type; var itemClass = tab.SubType; if(_AllRankDic.ContainsKey(_PageIndex)) { if(_AllRankDic[_PageIndex].ContainsKey(itemClass)) { if(tab.IsFolded != -1) { _AllRankDic[_PageIndex][itemClass].Add(tab.GetId()); } }else{ List subClasslist = new List(); if (tab.IsFolded != -1) subClasslist.Add(tab.GetId()); _AllRankDic[_PageIndex].Add(itemClass, subClasslist); } }else { List subClassList = new List(); if (tab.IsFolded != -1) subClassList.Add(tab.GetId()); Dictionary> subClassDic = new Dictionary>(); subClassDic.Add(itemClass, subClassList); _AllRankDic.Add(_PageIndex, subClassDic); } } } } public void InitMenuItemContainer() { _MenuItemContainer.Clear(); if (_AllRankDic[_CurSelectPanelIndex] == null) return; foreach(var tab in _AllRankDic[_CurSelectPanelIndex]) { _MenuItemContainer.PushMenu(tab.Key, tab.Value.ToArray()); } if(isShowType == -1) ShowDefaultFirst(); } public void ShowDefaultFirst() { _MenuItemContainer.ShowDefaultFirst(); } #region public UISubScollMenu _MenuItemContainer; public UICameraTexture _ModelCamera; public UICameraTexture _PetUICameraTexture; public Text _SelectRoleGuildName; public GameObject _CombatValObj; public UIImgText _SelectRoleCombat; public Image _FakeImage; public Text _Prof; public Text _Prop; public Text _SelfRank; public Text _SelfProp; public Text _SlefPropVal; public GameObject _GuildNameObj; public Text _GuildName; public ProfessionSortTips _ProfessionSortPanel; public UIContainerBase _RankInfoItemContainer; #endregion public int _CurSelectTabId = -1; public void OnMenuItemClick(object tabId) { _CurSelectTabId = (int)tabId; _RankInfoItemContainer.InitContentItem(null); InitSpecialPropDesc(); ResetSortInfo(); } public int _CurSelectPreofession = -1; //默认全部 public void ResetSortInfo() { _CurSelectPreofession = -1; InitProfDesc(); OnProfessionBtn(_CurSelectPreofession); } public void OnProfessionBtn(int param) { _CurSelectPreofession = param; if (param == -1) { _Prof.text = StrDictionary.GetClientDictionaryString("#{3087}"); }else { _Prof.text = GCGame.Utils.GetProfession(param); } var rankTab = TableManager.GetRankInfoByID(_CurSelectTabId, 0); if(rankTab == null /*|| rankTab.IsFolded != -1*/) { return; } if(param == -1) { CG_REQ_RANK_LIST send = (CG_REQ_RANK_LIST)PacketDistributed.CreatePacket(MessageID.PACKET_CG_REQ_RANK_LIST); send.Ranktype = _CurSelectTabId; send.SendPacket(); }else { _RankInfoItemContainer.InitContentItem(null); if (_AllProfSortDic.ContainsKey(param)) { if (_AllProfSortDic[param].Count > 0) { var rank = _AllProfSortDic[param][0]._Rank; //标记点击 _RankInfoItemContainer.InitContentItem(_AllProfSortDic[param]); _RankInfoItemContainer.ForeachActiveItem((item) => { if(item._RankNum == rank) { item.OnItemClick(); } }); } else ShowFakeImage(); }else { ShowFakeImage(); } } } public void InitProfDesc() { if(_CurSelectPreofession == -1) { _Prof.text = StrDictionary.GetClientDictionaryString("#{3087}"); } else { _Prof.text = GCGame.Utils.GetProfession(_CurSelectPreofession); } } private int _CurClassSpecialPropId = -1; public void InitSpecialPropDesc() { var tab = TableManager.GetRankInfoByID(_CurSelectTabId, 0); if (tab != null) { _CurClassSpecialPropId = tab.SpecialPropID; _Prop.text = TableManager.GetRankProStrByID(tab.SpecialPropID, 0).ProStr; _SelfProp.text = TableManager.GetRankProStrByID(tab.SpecialPropID, 0).ProStr + ":"; } else { LogModule.ErrorLog("找不到RankInfoTab"); } } public void OnSortProfBtn() { if (!_ProfessionSortPanel.isActiveAndEnabled) _ProfessionSortPanel.gameObject.SetActive(true); } public string GetModifiedStr(long num) { if (num >= 100000) { return StrDictionary.GetClientDictionaryString("#{2224}", ((float)num / 10000).ToString("F2")); } else { return num + ""; } } private List _AllRnakInfoList; private Dictionary> _AllProfSortDic; public void OnPacket(GC_RET_RANK_LIST packet) { _AllRnakInfoList = new List(); _AllProfSortDic = new Dictionary>(); var hasFindSelf = false; for(int index = 0; index < packet.ranklistCount; index++) { var info = new NewRankInfoItemStruct(packet.ranklistList[index], index + 1); var prof = RankWindowNew.Instance.GetProValueInt((int)RankWindowNew.RankPropID.UserProf, packet.GetRanklist(index)); var guid = RankWindowNew.Instance.GetProValueInt((int)RankWindowNew.RankPropID.UserGuid, packet.GetRanklist(index)); if((ulong)guid == GameManager.gameManager.PlayerDataPool.MainPlayerBaseAttr.Guid) { hasFindSelf = true; _SelfRank.text = (index + 1) + ""; //switch (_CurSelectTabId) //{ // case (int)RankWindowNew.RankType_T.Advance_0: // { // var _AdvanceGrade = RankWindowNew.Instance.GetProValueInt((int)RankWindowNew.RankPropID.UserAdvanceGrade, packet.ranklistList[index]); // var _AdvanceStar = RankWindowNew.Instance.GetProValueInt((int)RankWindowNew.RankPropID.UserAdvanceStar, packet.ranklistList[index]); // _SlefPropVal.text = StrDictionary.GetClientDictionaryString("#{43045}", _AdvanceGrade == -1 ? 0 : _AdvanceGrade, _AdvanceStar == -1 ? 0 : _AdvanceStar); // } // break; // case (int)RankWindowNew.RankType_T.Advance_1: // case (int)RankWindowNew.RankType_T.Advance_2: // case (int)RankWindowNew.RankType_T.Advance_3: // case (int)RankWindowNew.RankType_T.Advance_4: // case (int)RankWindowNew.RankType_T.Advance_5: // case (int)RankWindowNew.RankType_T.Advance_6: // { // var _AdvanceGrade = RankWindowNew.Instance.GetProValueInt((int)RankWindowNew.RankPropID.UserAdvanceGrade, packet.ranklistList[index]); // _SlefPropVal.text = StrDictionary.GetClientDictionaryString("#{46518}", _AdvanceGrade == -1 ? 0 : _AdvanceGrade); // } // break; // default: // { // if (!RankWindowNew.Instance.GetProValueStr(_CurClassSpecialPropId, packet.ranklistList[index]).Equals("")) // { // _SlefPropVal.text = RankWindowNew.Instance.GetProValueStr(_CurClassSpecialPropId, packet.ranklistList[index]); // } // else // { // _SlefPropVal.text = NewRankRoot.Instance.GetModifiedStr(RankWindowNew.Instance.GetProValueInt(_CurClassSpecialPropId, packet.ranklistList[index])) + ""; // } // } // break; //} if (!RankWindowNew.Instance.GetProValueStr(_CurClassSpecialPropId, packet.ranklistList[index]).Equals("")) { _SlefPropVal.text = RankWindowNew.Instance.GetProValueStr(_CurClassSpecialPropId, packet.ranklistList[index]); } else { _SlefPropVal.text = NewRankRoot.Instance.GetModifiedStr(RankWindowNew.Instance.GetProValueInt(_CurClassSpecialPropId, packet.ranklistList[index])) + ""; } } if (_AllProfSortDic.ContainsKey((int)prof)) { _AllProfSortDic[(int)prof].Add(info); } else { List profList = new List(); profList.Add(info); _AllProfSortDic.Add((int)prof, profList); } _AllRnakInfoList.Add(info); } if(!hasFindSelf) { _SelfRank.text = StrDictionary.GetClientDictionaryString("#{2049}"); //switch (_CurSelectTabId) //{ // case (int)RankWindowNew.RankType_T.Advance_0: // { // var _AdvanceGrade = RankWindowNew.Instance.GetProValueInt((int)RankWindowNew.RankPropID.UserAdvanceGrade, packet.Myrankinfo); // var _AdvanceStar = RankWindowNew.Instance.GetProValueInt((int)RankWindowNew.RankPropID.UserAdvanceStar, packet.Myrankinfo); // _SlefPropVal.text = StrDictionary.GetClientDictionaryString("#{43045}", _AdvanceGrade, _AdvanceStar); // } // break; // case (int)RankWindowNew.RankType_T.Advance_1: // case (int)RankWindowNew.RankType_T.Advance_2: // case (int)RankWindowNew.RankType_T.Advance_3: // case (int)RankWindowNew.RankType_T.Advance_4: // case (int)RankWindowNew.RankType_T.Advance_5: // case (int)RankWindowNew.RankType_T.Advance_6: // { // var _AdvanceGrade = RankWindowNew.Instance.GetProValueInt((int)RankWindowNew.RankPropID.UserAdvanceGrade, packet.Myrankinfo); // _SlefPropVal.text = StrDictionary.GetClientDictionaryString("#{46518}", _AdvanceGrade); // } // break; // default: // { // if (!RankWindowNew.Instance.GetProValueStr(_CurClassSpecialPropId, packet.Myrankinfo).Equals("")) // { // _SlefPropVal.text = RankWindowNew.Instance.GetProValueStr(_CurClassSpecialPropId, packet.Myrankinfo); // } // else // { // _SlefPropVal.text = NewRankRoot.Instance.GetModifiedStr(RankWindowNew.Instance.GetProValueInt(_CurClassSpecialPropId, packet.Myrankinfo)) + ""; // } // } // break; //} if (!RankWindowNew.Instance.GetProValueStr(_CurClassSpecialPropId, packet.Myrankinfo).Equals("")) { _SlefPropVal.text = RankWindowNew.Instance.GetProValueStr(_CurClassSpecialPropId, packet.Myrankinfo); } else { _SlefPropVal.text = NewRankRoot.Instance.GetModifiedStr(RankWindowNew.Instance.GetProValueInt(_CurClassSpecialPropId, packet.Myrankinfo)) + ""; } } _RankInfoItemContainer.InitContentItem(_AllRnakInfoList); if (_AllRnakInfoList.Count > 0) { _RankInfoItemContainer.ForeachActiveItem((item) => { if (item._RankNum == 1) { item.OnItemClick(); return; } }); }else { //ShowFake ShowFakeImage(); //switch(_CurSelectTabId) // { // case (int)RankWindowNew.RankType_T.Advance_0: // case (int)RankWindowNew.RankType_T.Advance_0_Prof0: // case (int)RankWindowNew.RankType_T.Advance_0_Prof1: // case (int)RankWindowNew.RankType_T.Advance_0_Prof2: // case (int)RankWindowNew.RankType_T.Advance_0_Prof3: // { // ShowFakeImage((int)AdvanceBase.AdvanceType.Ride); // } // break; // case (int)RankWindowNew.RankType_T.Advance_2: // case (int)RankWindowNew.RankType_T.Advance_2_Prof0: // case (int)RankWindowNew.RankType_T.Advance_2_Prof1: // case (int)RankWindowNew.RankType_T.Advance_2_Prof2: // case (int)RankWindowNew.RankType_T.Advance_2_Prof3: // { // ShowFakeImage((int)AdvanceBase.AdvanceType.Wing); // } // break; // case (int)RankWindowNew.RankType_T.Advance_1: // case (int)RankWindowNew.RankType_T.Advance_1_Prof0: // case (int)RankWindowNew.RankType_T.Advance_1_Prof1: // case (int)RankWindowNew.RankType_T.Advance_1_Prof2: // case (int)RankWindowNew.RankType_T.Advance_1_Prof3: // case (int)RankWindowNew.RankType_T.Advance_3: // case (int)RankWindowNew.RankType_T.Advance_3_Prof0: // case (int)RankWindowNew.RankType_T.Advance_3_Prof1: // case (int)RankWindowNew.RankType_T.Advance_3_Prof2: // case (int)RankWindowNew.RankType_T.Advance_3_Prof3: // case (int)RankWindowNew.RankType_T.Advance_4: // case (int)RankWindowNew.RankType_T.Advance_4_Prof0: // case (int)RankWindowNew.RankType_T.Advance_4_Prof1: // case (int)RankWindowNew.RankType_T.Advance_4_Prof2: // case (int)RankWindowNew.RankType_T.Advance_4_Prof3: // case (int)RankWindowNew.RankType_T.Advance_5: // case (int)RankWindowNew.RankType_T.Advance_5_Prof0: // case (int)RankWindowNew.RankType_T.Advance_5_Prof1: // case (int)RankWindowNew.RankType_T.Advance_5_Prof2: // case (int)RankWindowNew.RankType_T.Advance_5_Prof3: // case (int)RankWindowNew.RankType_T.Advance_6: // case (int)RankWindowNew.RankType_T.Advance_6_Prof0: // case (int)RankWindowNew.RankType_T.Advance_6_Prof1: // case (int)RankWindowNew.RankType_T.Advance_6_Prof2: // case (int)RankWindowNew.RankType_T.Advance_6_Prof3: // { // ShowFakeImage(_CurSelectTabId - 70); // } // break; // case (int)RankWindowNew.RankType_T.PetScoreComposite: // case (int)RankWindowNew.RankType_T.PetScoreProf0: // case (int)RankWindowNew.RankType_T.PetScoreProf1: // case (int)RankWindowNew.RankType_T.PetScoreProf2: // case (int)RankWindowNew.RankType_T.PetScoreProf3: // { // ShowFakeImage(7); // } // break; // default: // { // ShowFakeImage(8); // } // break; // } } } private RankElemStruct _ClickItemInfo; public void OnItemClick(RankElemStruct info) { _ClickItemInfo = info; InitModelCamera(); InitSelectRoleInfo(); _RankInfoItemContainer.ForeachActiveItem((item) => { item.ShowMarkIcon(info == item.info); }); } public void InitSelectRoleInfo() { var guildName = RankWindowNew.Instance.GetProValueStr((int)RankWindowNew.RankPropID.GuildName, _ClickItemInfo); if (!guildName.Equals("")) { _SelectRoleGuildName.text = guildName; } else { _SelectRoleGuildName.text = StrDictionary.GetClientDictionaryString("#{1965}"); } switch(_CurSelectTabId) { case (int)RankWindowNew.RankType_T.Advance_0: case (int)RankWindowNew.RankType_T.Advance_1: case (int)RankWindowNew.RankType_T.Advance_2: case (int)RankWindowNew.RankType_T.Advance_3: case (int)RankWindowNew.RankType_T.Advance_4: case (int)RankWindowNew.RankType_T.Advance_5: case (int)RankWindowNew.RankType_T.Advance_6: { _SelectRoleCombat.text = RankWindowNew.Instance.GetProValueInt((int)RankWindowNew.RankPropID.AdvanceCombatValue, _ClickItemInfo).ToString(); } break; case (int)RankWindowNew.RankType_T.PetScoreComposite: { _SelectRoleCombat.text = RankWindowNew.Instance.GetProValueInt((int)RankWindowNew.RankPropID.UserPetScore, _ClickItemInfo).ToString(); } break; default: { _SelectRoleCombat.text = RankWindowNew.Instance.GetProValueInt((int)RankWindowNew.RankPropID.UserBattlePoint, _ClickItemInfo).ToString(); } break; } } public void ShowFakeImage() { _ModelCamera.gameObject.transform.localPosition = new Vector3(999, 999, 0); _PetUICameraTexture.gameObject.transform.localPosition = new Vector3(999, 999, 0); _CombatValObj.SetActive(false); _FakeImage.gameObject.SetActive(true); var rankTab = TableManager.GetRankInfoByID(_CurSelectTabId, 0); if(rankTab == null) { LogModule.ErrorLog("rankTab is null"); return; } LoadAssetBundle.Instance.SetImageSprite(_FakeImage, rankTab.FakeImg, (bool bSucess, GameObject obj) => { _FakeImage.SetNativeSize(); }); } public void InitModelCamera() { _CombatValObj.SetActive(true); _ModelCamera.RemoveModel(); _PetUICameraTexture.RemoveModel(); //if(_ModelCamera._FakeObj != null) //{ // _ModelCamera._FakeObj.Disable(); // _ModelCamera._FakeObj.Enable(); //} _FakeImage.gameObject.SetActive(false); switch (_CurSelectTabId) { case (int)RankWindowNew.RankType_T.Advance_0: { _ModelCamera.gameObject.transform.localPosition = Vector3.zero; _PetUICameraTexture.gameObject.transform.localPosition = new Vector3(999, 999, 999); _GuildNameObj.SetActive(false); var _CurAdvanceGrade = RankWindowNew.Instance.GetProValueInt((int)RankWindowNew.RankPropID.UserAdvanceGrade, _ClickItemInfo); if(_CurAdvanceGrade <= 0) { ShowFakeImage(); return; } //进阶坐骑MountBase foreach(var tab in TableManager.GetAdvanceBase().Values) { var advanceType = (tab.Id - tab.Level) / 1000 - 1; if(advanceType == (int)AdvanceBase.AdvanceType.Ride && tab.Grade == _CurAdvanceGrade) { var mountBase = TableManager.GetMountBaseByID(tab.ModelId, 0); if(mountBase == null) { LogModule.ErrorLog("MoutnBase is null"); return; } var charMount = TableManager.GetCharMountByID(mountBase.ModelID, 0); if(charMount == null) { LogModule.ErrorLog("CharMount is null"); return; } var sizeScale = float.Parse((charMount.BodyPos.Split(';')[2])) * 0.6f; _ModelCamera.InitMountModelPath(charMount, delegate() { _ModelCamera._FakeObj.renderCamera.orthographicSize = sizeScale; }); break; } } } break; case (int)RankWindowNew.RankType_T.Advance_2: { _ModelCamera.gameObject.transform.localPosition = Vector3.zero; _PetUICameraTexture.gameObject.transform.localPosition = new Vector3(999, 999, 999); _GuildNameObj.SetActive(false); //进阶翅膀AuraConfig var _CurAdvanceGrade = RankWindowNew.Instance.GetProValueInt((int)RankWindowNew.RankPropID.UserAdvanceGrade, _ClickItemInfo); var profession = RankWindowNew.Instance.GetProValueInt((int)RankWindowNew.RankPropID.UserProf, _ClickItemInfo); if (_CurAdvanceGrade <= 0) { ShowFakeImage(); return; } foreach (var tab in TableManager.GetAdvanceBase().Values) { var advanceType = (tab.Id - tab.Level) / 1000 - 1; if(advanceType == (int)AdvanceBase.AdvanceType.Wing && tab.Grade == _CurAdvanceGrade) { _ModelCamera.InitWingModelPath(tab, null, ()=> { //var auraConfig = TableManager.GetAuraConfigByID(tab.Value[0].ModelId, 0); //if (auraConfig == null) // return; //var charModel = TableManager.GetCharModelByID(auraConfig.TianJiWingModelId, 0); //if (charModel == null) // return; //var sizeScale = float.Parse((charModel.BodyPos.Split(';')[2])) * 0.8f; //其实我觉得1.3f就可以 _ModelCamera._FakeObj.renderCamera.orthographicSize = 1.3f; }); break; } } } break; case (int)RankWindowNew.RankType_T.Advance_1: case (int)RankWindowNew.RankType_T.Advance_3: case (int)RankWindowNew.RankType_T.Advance_4: case (int)RankWindowNew.RankType_T.Advance_5: case (int)RankWindowNew.RankType_T.Advance_6: { _ModelCamera.gameObject.transform.localPosition = Vector3.zero; _PetUICameraTexture.gameObject.transform.localPosition = new Vector3(999, 999, 999); _GuildNameObj.SetActive(false); //其它进阶CharModel表 var _CurAdvanceGrade = RankWindowNew.Instance.GetProValueInt((int)RankWindowNew.RankPropID.UserAdvanceGrade, _ClickItemInfo); if (_CurAdvanceGrade <= 0) { ShowFakeImage(); return; } var _CurAdvanceType = _CurSelectTabId - 71; foreach (var tab in TableManager.GetAdvanceBase().Values) { var advanceType = (tab.Id - tab.Level) / 1000 - 1; if (advanceType == _CurAdvanceType && tab.Grade == _CurAdvanceGrade) { var charModel = TableManager.GetCharModelByID(tab.ModelId, 0); if(charModel == null) { LogModule.ErrorLog("charModel is null"); return; } var sizeScale = float.Parse((charModel.BodyPos.Split(';')[2])) * 0.7f; _ModelCamera.InitModelPath(charModel.ResPath, charModel, LoadAssetBundle.BUNDLE_PATH_MODEL, true, delegate() { _ModelCamera._FakeObj.renderCamera.orthographicSize = sizeScale; }, true); break; } } } break; case (int)RankWindowNew.RankType_T.PetScoreComposite: case (int)RankWindowNew.RankType_T.PetScoreProf0: case (int)RankWindowNew.RankType_T.PetScoreProf1: case (int)RankWindowNew.RankType_T.PetScoreProf2: case (int)RankWindowNew.RankType_T.PetScoreProf3: { _ModelCamera.gameObject.transform.localPosition = new Vector3(999, 999, 999); _PetUICameraTexture.gameObject.transform.localPosition = Vector3.zero; _GuildNameObj.SetActive(false); //宠物表 var fellowBaseId = RankWindowNew.Instance.GetProValueInt((int)RankWindowNew.RankPropID.FellowId, _ClickItemInfo); var fellowBase = TableManager.GetFellowBaseByID((int)fellowBaseId, 0); if(fellowBase == null) { LogModule.ErrorLog("fellowBase is null"); return; } var charModel = TableManager.GetCharModelByID((int)fellowBase.ModelId, 0); if (charModel == null) return; var sizeScale = float.Parse(charModel.BodyPos.Split(';')[2]) * 0.65f; _PetUICameraTexture.InitModelPath(charModel.ResPath, charModel, LoadAssetBundle.BUNDLE_PATH_PET, true); //delegate () //{ // _ModelCamera._FakeObj.FakeObj.transform.localPosition = new Vector3(_ModelCamera._FakeObj.FakeObj.transform.localPosition.x, // _ModelCamera._FakeObj.FakeObj.transform.localPosition.y * 0.8f, _ModelCamera._FakeObj.FakeObj.transform.localPosition.z); // _ModelCamera._FakeObj.renderCamera.orthographicSize = sizeScale; //}, true } break; default: { _ModelCamera.gameObject.transform.localPosition = Vector3.zero; _PetUICameraTexture.gameObject.transform.localPosition = new Vector3(999, 999, 999); _GuildNameObj.SetActive(true); _GuildName.text = RankWindowNew.Instance.GetProValueStr((int)RankWindowNew.RankPropID.GuildName, _ClickItemInfo); //人物模型 var profession = RankWindowNew.Instance.GetProValueInt((int)RankWindowNew.RankPropID.UserProf, _ClickItemInfo); var advanceWingId = RankWindowNew.Instance.GetProValueInt((int)RankWindowNew.RankPropID.Wing, _ClickItemInfo); var modelId = GlobalData.GetCharModelId((int)profession, (int)RankWindowNew.Instance.GetProValueInt((int)RankWindowNew.RankPropID.FashionId, _ClickItemInfo)); var weaponFashionId = RankWindowNew.Instance.GetProValueInt((int)RankWindowNew.RankPropID.WeaponId, _ClickItemInfo); var auraWingId = RankWindowNew.Instance.GetProValueInt((int)RankWindowNew.RankPropID.AuraWingId, _ClickItemInfo); var effectId = RankWindowNew.Instance.GetProValueInt((int)RankWindowNew.RankPropID.EffectId, _ClickItemInfo); _ModelCamera.InitModel((int)profession, modelId, (int)weaponFashionId, (int)auraWingId, -1, (int)effectId, (int)advanceWingId); } break; } } public int isShowType = -1; public void ShowMenuItem(int type) { isShowType = type; foreach (var subMenu in _MenuItemContainer.SubBtns) { RankClassMenuItem rankItem1 = subMenu.Key as RankClassMenuItem; if (rankItem1.MenuObj.Equals(type)) { _MenuItemContainer.ShowMenu(type); return; } else { foreach (var subMenu2 in subMenu.Value) { RankSubClassMenuItem rankItem2 = subMenu2 as RankSubClassMenuItem; if (rankItem2.MenuObj.Equals(type)) { _MenuItemContainer.ShowMenu(rankItem1.MenuObj, type); return; } } } } //if (_AllRankDic[_CurSelectPanelIndex].ContainsKey(type)) //{ // _MenuItemContainer.ShowMenu(type); //} //else //{ // int mainType = -1; // foreach (var typePair in _AllRankDic[_CurSelectPanelIndex]) // { // for (int i = 0; i < typePair.Value.Count; ++i) // { // if (typePair.Value[i] == type) // { // mainType = typePair.Key; // break; // } // } // if (mainType > 0) // break; // } // if (mainType > 0) // _MenuItemContainer.ShowMenu(-1, type); //} //isShowType = -1; } }