using UnityEngine;
using UnityEngine.UI;
using System.Collections;
public class PopMenuItemLogic : UIItemBase {
public Text m_MenuItemLabel;
public delegate void MenuItemOnClicked();
private MenuItemOnClicked deleMenuItemOnClicked; // 响应函数托管
public class InitMenuInfo
{
public string strLabel;
public MenuItemOnClicked funcItemOnClicked;
public InitMenuInfo(string str, MenuItemOnClicked itemOnClicked)
{
strLabel = str;
funcItemOnClicked = itemOnClicked;
}
}
public override void Show(Hashtable hash)
{
base.Show();
var menuInfo = (InitMenuInfo)hash["InitObj"];
if (menuInfo != null)
InitMenuItem(menuInfo.strLabel, menuInfo.funcItemOnClicked);
}
///
/// 菜单项点击事件
///
public void OnClicked()
{
MenuItemOnClicked temp = deleMenuItemOnClicked;
deleMenuItemOnClicked = null;
if (temp != null)
{
temp();
UIManager.CloseUI(UIInfo.PopMenuRoot);
}
}
///
/// 初始化菜单项信息
///
/// 文字
/// 响应函数
public void InitMenuItem(string strLabel, MenuItemOnClicked funcItemOnClicked)
{
m_MenuItemLabel.text = strLabel;
deleMenuItemOnClicked = funcItemOnClicked;
}
}