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 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().maskBG.gameObject.SetActive( menuItemList[index].gameObject.GetComponent().type == type ? true : false); menuItemList[index].gameObject.GetComponent().originIcon.gameObject.SetActive( menuItemList[index].gameObject.GetComponent().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 { public OnAdvanceMenuItemClick() { } } [SerializeField] public OnAdvanceMenuItemClick _OnAdvanceMenuItemClickCallBack; }