135 lines
4.1 KiB
C#
135 lines
4.1 KiB
C#
|
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<GameObject> menuItemList; // 操作按钮
|
|||
|
// public List<Image> menuMarkList; // 标记
|
|||
|
public List<GameObject> infoPanelList = new List<GameObject>(); // 对应信息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
|
|||
|
}
|