59 lines
1.4 KiB
C#
59 lines
1.4 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using UnityEngine.Events;
|
|
|
|
/// <summary>
|
|
/// 可以提供给外部添加帧更新事件的方法
|
|
/// 可以给外部添加协程的方法
|
|
/// </summary>
|
|
public class MonoMgr : BaseManager<MonoMgr>
|
|
{
|
|
private MonoController controller;
|
|
|
|
public MonoMgr()
|
|
{
|
|
//保证了MonoController的唯一性
|
|
GameObject obj = new GameObject("MonoController");
|
|
controller = obj.AddComponent<MonoController>();
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// 给外部提供的添加帧更新事件的函数
|
|
/// </summary>
|
|
/// <param name="fun"></param>
|
|
public void AddUpdateListener(UnityAction fun)
|
|
{
|
|
controller.AddUpdateListener(fun);
|
|
// controller.StartCoroutine();
|
|
|
|
}
|
|
|
|
/// <summary>
|
|
/// 提供给外部 用于移除帧更新事件函数
|
|
/// </summary>
|
|
/// <param name="fun"></param>
|
|
public void RemoveUpdateListener(UnityAction fun)
|
|
{
|
|
controller.RemoveUpdateListener(fun);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 封装一个协程,后续也可以添加方法来封装
|
|
/// </summary>
|
|
/// <param name="routine"></param>
|
|
/// <returns></returns>
|
|
public Coroutine StartCoroutine(IEnumerator routine)
|
|
{
|
|
return controller.StartCoroutine(routine);
|
|
}
|
|
|
|
//这里可以继续封装别的Mono方法
|
|
/*public Coroutine StartCoroutine(IEnumerator routine)
|
|
{
|
|
return controller.StartCoroutine(routine);
|
|
}*/
|
|
|
|
}
|