NLDClient-yudde/ProjectNLD/Assets/Code/Scripts/Gameplay/UI/Common/UINode.cs

63 lines
1.1 KiB
C#
Raw Normal View History

using System;
using UnityEngine;
using UnityEngine.UI;
public class UINode: MonoBehaviour
{
public static UINode LoadNode()
{
return null;
}
protected void ClearBind(Button button)
{
button.onClick.RemoveAllListeners();
}
protected void BindButton(Button button, Action func)
{
button.onClick.AddListener(() =>
{
func?.Invoke();
});
}
protected void BindButton<T>(Button button, Action<T> func, T param)
{
button.onClick.AddListener(() =>
{
func?.Invoke(param);
});
}
protected T _GetComponent<T>(string path) where T: Behaviour
{
var compGo = transform.Find(path).gameObject;
if (compGo)
{
return compGo.GetComponent<T>();
}
DebugUtil.LogError($"{name}未找到组件{typeof(T).Name} {path}");
return null;
}
public virtual void OnAwake()
{
}
public virtual void OnStart()
{
}
public virtual void OnUpdate()
{
}
public virtual void SetData(object data)
{
}
}