2025-12-01 17:35:46 +08:00
|
|
|
|
using UnityEngine;
|
|
|
|
|
|
|
|
|
|
|
|
namespace Demo.Game
|
|
|
|
|
|
{
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 统一Update接口,用于扁平化调度
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public interface IUpdateable
|
|
|
|
|
|
{
|
|
|
|
|
|
/// <summary>
|
2025-12-01 17:54:03 +08:00
|
|
|
|
/// 扁平化优化Update调用,直接更新对象自身(无递归遍历子对象)
|
2025-12-01 17:35:46 +08:00
|
|
|
|
/// </summary>
|
2025-12-01 17:54:03 +08:00
|
|
|
|
void FlatOptimizationUpdate(float currentTime, float deltaTime, ScriptableObject.TickType tickType);
|
2025-12-01 17:35:46 +08:00
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 对象名称,用于调试
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
string GetUpdateName();
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 是否已应用脚本
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
bool IsUpdateReady { get; }
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Update模式
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public enum UpdateMode
|
|
|
|
|
|
{
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 永久活跃(整个关卡周期)
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
Permanent,
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 有时间范围限制
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
TimeBound,
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 手动控制激活/停用
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
Manual
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|