public delegate void FireSkillDelegate();
public class CDTimerManager : MonoBehaviour
{
protected void StartTiming(int CD , FireSkillDelegate Delegate)
{
StartCoroutine(CDTimer(CD, Delegate));
}
IEnumerator CDTimer(int value,FireSkillDelegate Delegate)
{
while(value >= 0)
{
yield return new WaitForSeconds(1f);
value--;
if (value == 0)
{
Delegate();
}
}
}
}
基类代码如上,由子类调用基类的方法,基类调用协程,最后通过委托在计时结束后完成 本应该在子类完成计时后执行的方法;
public class SumCreateManager : CDTimerManager
{
void Start()
{
InvokeRepeating("FunctionToDelegate", 1f, 6f);
}
void FunctionToDe