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(Button button, Action func, T param) { button.onClick.AddListener(() => { func?.Invoke(param); }); } protected T _GetComponent(string path) where T: Behaviour { var compGo = transform.Find(path).gameObject; if (compGo) { return compGo.GetComponent(); } 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) { } }