using UnityEngine; using System.Collections; using UnityEngine.UI; using System.Collections.Generic; using UnityEngine.EventSystems; public class OtherPlayerInfoRootCtr : MonoBehaviour { public enum MenuType { Equip = 0, // 装备属性 Skill = 1, // 技能 Pet = 2, // 宠物 Fabao = 3, // 法宝 Power = 4, // 战力 Advance = 5 // 进阶 } #region // public List menuItemList; // 操作按钮 // public List menuMarkList; // 标记 public List infoPanelList = new List(); // 对应信息Panel public TogglesControl toggleControl; public UIContainerSelect menuContainer; // 菜单拉动区 public int[] advanceTypeList; // 进阶类型映射 private int panelType = -1; // 当前类型 private int toggleIndex = -1; // 点击菜单按钮索引 #endregion public static OtherPlayerInfoRootCtr Instance; private void Awake() { Instance = this; //menuContainer._ScrollRect.OnEndDrag(); } private void OnDestroy() { Instance = null; } void OnEnable() { toggleControl.OnTogglesSelect += OnMenuItemClick; toggleControl.SetToggleOn(0); } private void OnDisable() { toggleControl.OnTogglesSelect -= OnMenuItemClick; } public void OnMenuItemClick(int tIndex) { // 关闭之前的界面 if (panelType != -1 && panelType <= (int)MenuType.Advance) { if(panelType < 4) { infoPanelList[panelType].SetActive(false); } else { infoPanelList[4].SetActive(false); } } toggleIndex = tIndex; if(toggleIndex > 3) { panelType = 5; infoPanelList[panelType - 1].SetActive(true); } else if(tIndex >= 0) { panelType = toggleIndex; infoPanelList[panelType].SetActive(true); } CG_ASK_OTHERROLE_DATA askPak = (CG_ASK_OTHERROLE_DATA)PacketDistributed.CreatePacket(MessageID.PACKET_CG_ASK_OTHERROLE_DATA); askPak.SetGuid(GameManager.gameManager.OtherPlayerData.RoleGUID); switch (panelType) { case (int)MenuType.Equip: askPak.SetDataType((int)MenuType.Equip); break; case (int)MenuType.Skill: //申请当前的技能信息 askPak.SetDataType((int)MenuType.Skill); break; case (int)MenuType.Pet: askPak.SetDataType((int)MenuType.Pet); break; case (int)MenuType.Fabao: askPak.SetDataType((int)MenuType.Fabao); break; // 其他均视为进阶请求 default: if(OtherPlayerAdvancePanelCtr.Instance != null) { if (OtherPlayerAdvancePanelCtr.Instance.HasInit) { OtherPlayerAdvancePanelCtr.Instance.ShowPanel((AdvanceBase.AdvanceType)advanceTypeList[(toggleIndex - (int)MenuType.Advance) + 1]); return; } else { askPak.SetDataType((int)MenuType.Advance); OtherPlayerAdvancePanelCtr.Instance.advanceType = (AdvanceBase.AdvanceType)advanceTypeList[(toggleIndex - (int)MenuType.Advance + 1)]; } } break; } askPak.SendPacket(); } public void OnCloseBtnClick() { UIManager.CloseUI(UIInfo.OtherPlayerInfoRoot); } #region 滑动框上下限提示 private void TipShow(PointerEventData eventData) { } #endregion }