主函数,情况一(单例主函数写法):
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ADPManager : MonoBehaviour {
public static ADPManager _instance;
private void Awake()
{
_instance = this;
}
public static ADPManager Instance
{
get
{
return _instance;
}
}
public delegate void ADPDelegate();
public ADPDelegate ADPD;
public void OnCallDelete()
{
//调用主函数要做的事情
//TODO
//委托执行的方法
if(ADPD != null)
{
ADPD();
}
}
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
}
}
主函数,情况二(static,和单例差不多,把方法都改成静态方法):
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ADPManager : MonoBehaviour {
public delegate void ADPDelegate();
public static ADPDelegate ADPD;
public static void OnCallDelete()
{
//调用主函数要做的事情
//TODO
//委托执行的方法
if(ADPD != null)
{
ADPD();
}
}
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
}
}
主函数做主函数要做的事情,其它要做的通过定义的ADPD来添加调用。
在其它函数里的调用方式是
单例:
ADPManager.Instance.ADPD += itemADP;//=后是方法名
ADPManager.Instance.ADPD += panelADP;//=后是方法名
ADPManager.Instance.ADPD += contentADP;//=后是方法名
ADPManager.Instance.OnCallDelete();//执行
或者
静态方法:
ADPManager.ADPD += itemADP;//=后是方法名
ADPManager.ADPD += panelADP;//=后是方法名
ADPManager.ADPD += contentADP;//=后是方法名
ADPManager.OnCallDelete();//执行