Files
JJBB/Assets/Project/Script/GUI/Base/UISubMenuItem.cs

110 lines
1.9 KiB
C#
Raw Normal View History

2024-08-23 15:49:34 +08:00
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.Events;
using UnityEngine.EventSystems;
using System.Collections;
using System;
using Module.Log;
public class UISubMenuItem : UIItemBase, IPointerClickHandler
{
public GameObject _SelectGO;
public GameObject _SunOpenGO;
public Text _MenuText; // 非高亮菜单名称
public Text _HLMenuText; // 高亮菜单名称
protected object _MenuObj;
public object MenuObj
{
get
{
return _MenuObj;
}
}
protected int _SubLevel;
public int SubLevel
{
get
{
return _SubLevel;
}
set
{
_SubLevel = value;
}
}
public virtual void InitMenu(object obj)
{
_MenuObj = obj;
string str = obj as string;
_MenuText.text = str;
if(_HLMenuText != null)
{
_HLMenuText.text = str;
}
if(_SelectGO != null)
_SelectGO.SetActive(false);
}
#region select
public virtual bool ShowMenu()
{
//if (_SelectGO != null)
{
gameObject.SetActive(true);
return true;
}
}
public virtual void Selected()
{
LogModule.DebugLog("Click");
if (_SelectGO != null)
{
_SelectGO.SetActive(true);
}
}
public virtual bool IsSelected()
{
return _SelectGO.activeInHierarchy;
}
public virtual void UnSelected()
{
if (_SelectGO != null)
{
_SelectGO.SetActive(false);
}
}
#endregion
#region subGO
public void OpenSubGO()
{
if (_SunOpenGO != null)
{
_SunOpenGO.SetActive(true);
}
}
public void CloseSubGO()
{
if (_SunOpenGO != null)
{
_SunOpenGO.SetActive(false);
}
}
#endregion
}