2025-04-19 22:00:30 +08:00

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);
}*/
}