Files
JJBB/Assets/Project/Script/GUI/Advance/AdvanceMenuItemPanelCtr.cs

118 lines
3.9 KiB
C#
Raw Normal View History

2024-08-23 15:49:34 +08:00
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using System.Collections.Generic;
using GCGame.Table;
using System;
using UnityEngine.Events;
// 进阶系统右侧菜单控制
public class AdvanceMenuItemPanelCtr : MonoBehaviour {
public static AdvanceMenuItemPanelCtr Instance;
private void Awake()
{
Instance = this;
}
private void OnDestroy()
{
Instance = null;
}
public enum MenuItemOptType
{
Invalid = -1,
Show = 0, // 显示
Advance, // 进阶
Fashion // 幻化
}
// 貌似没用
public enum AdvancePanelType
{
Show = 0, // 显示
Advance, // 进阶
Fashion // 幻化
}
//public AdvanceBase.AdvanceType type;
public List<AdvanceMenuItem> menuItemList;
// 初始化MenuItem描述
public void IntMenuItemDesc()
{
switch (AdvanceMountPanelCtr.Instance.m_AdvanceType)
{
case AdvanceBase.AdvanceType.Ride:
menuItemList[0].InitItem(StrDictionary.GetClientDictionaryString("#{42667}"), (int)AdvanceBase.AdvanceType.Ride);
break;
case AdvanceBase.AdvanceType.Piano:
menuItemList[0].InitItem(StrDictionary.GetClientDictionaryString("#{42668}"), (int)AdvanceBase.AdvanceType.Piano);
break;
case AdvanceBase.AdvanceType.Wing:
menuItemList[0].InitItem(StrDictionary.GetClientDictionaryString("#{42669}"), (int)AdvanceBase.AdvanceType.Wing);
break;
case AdvanceBase.AdvanceType.Qilinbi:
menuItemList[0].InitItem(StrDictionary.GetClientDictionaryString("#{42670}"), (int)AdvanceBase.AdvanceType.Qilinbi);
break;
case AdvanceBase.AdvanceType.Soul:
menuItemList[0].InitItem(StrDictionary.GetClientDictionaryString("#{42709}"), (int)AdvanceBase.AdvanceType.Soul);
break;
case AdvanceBase.AdvanceType.Mask:
menuItemList[0].InitItem(StrDictionary.GetClientDictionaryString("#{42710}"), (int)AdvanceBase.AdvanceType.Mask);
break;
case AdvanceBase.AdvanceType.Huopao:
menuItemList[0].InitItem(StrDictionary.GetClientDictionaryString("#{42711}"), (int)AdvanceBase.AdvanceType.Mask);
break;
}
}
public MenuItemOptType lastType = MenuItemOptType.Invalid;
public void OnMenuItemClick(MenuItemOptType type)
{
if(lastType == type)
{
return;
}
if (_OnAdvanceMenuItemClickCallBack != null)
{
_OnAdvanceMenuItemClickCallBack.Invoke(type);
}
ShowMenuItemMaskBG(type);
}
// 设置MneuItem的背景遮罩
public void ShowMenuItemMaskBG(MenuItemOptType type)
{
for (int index = 0; index < menuItemList.Count; index++)
{
menuItemList[index].gameObject.GetComponent<AdvanceMenuItem>().maskBG.gameObject.SetActive(
menuItemList[index].gameObject.GetComponent<AdvanceMenuItem>().type == type ? true : false);
menuItemList[index].gameObject.GetComponent<AdvanceMenuItem>().originIcon.gameObject.SetActive(
menuItemList[index].gameObject.GetComponent<AdvanceMenuItem>().type == type ? false : true);
}
}
public void UpdateRedPoint(int t, bool isShow)
{
if (t >= (int)MenuItemOptType.Show && t <= (int)MenuItemOptType.Fashion)
{
if (menuItemList.Count > t && menuItemList[t] != null)
{
menuItemList[t].ShowOrHideIcon(isShow);
}
}
return;
}
[Serializable]
public class OnAdvanceMenuItemClick : UnityEvent<MenuItemOptType>
{
public OnAdvanceMenuItemClick() { }
}
[SerializeField]
public OnAdvanceMenuItemClick _OnAdvanceMenuItemClickCallBack;
}