public class A : MonoBehaviour
{
public static A _instance;
public Button btn;
public delegate void OnClickChangedEvent();
public event OnClickChangedEvent OnClickChanged;
void Awake()
{
_instance = this;
btn = GameObject.Find("Button").GetComponent<Button>();
btn.onClick.AddListener(OnClick);
}
public virtual void Start()
{
}
//点击方法
public virtual void OnClick()
{
OnClickChanged();
}
}
public class B : A {
public override void Start()
{
base.Start();
}
public override void OnClick()
{
base.OnClick();
}
}
public class C : MonoBehaviour
{
void Start()
{
A._instance.OnClickChanged += OnClick_C;
}
public void OnClick_C() { }
}
B类继承A类
C类注册事件到A类中
点击按钮就运行A B C 的点击方法
以上运行没有问题,但是不确定这样会不会有问题?消不消耗资源?谢谢!