Files
Main/Assets/Plugins/References/FuncellBase/Interface/BaseSystem.cs
2025-01-25 04:38:09 +08:00

67 lines
1.7 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using UnityEngine;
namespace Thousandto.Core.Base
{
/// <summary>
/// 基础系统 -- 当前包含了一个更新操作
/// </summary>
public class BaseSystem
{
#region//私有变量
//更新频率用于OnUpdate的调用频率
protected int _updateFrameRate = 1;
//dttime用于记录上次到本次调用OnUpdate的时间
private float _updateDeltaTime = 0f;
//dttime用于记录上次到本次调用OnLateUpdate的时间
private float _lateUpdateDeltaTime = 0f;
#endregion
#region//公有函数
//更新
public bool Update(float deltaTime)
{
_updateDeltaTime += deltaTime;
bool ret = true;
if(_updateFrameRate <= 1 || Time.frameCount % _updateFrameRate == 0)
{
ret = OnUpdate(_updateDeltaTime);
_updateDeltaTime = 0f;
}
return ret;
}
//LateUpdate
public bool LateUpdate(float deltaTime)
{
_lateUpdateDeltaTime += deltaTime;
bool ret = true;
if (_updateFrameRate <= 1 || Time.frameCount % _updateFrameRate == 0)
{
ret = OnLateUpdate(_lateUpdateDeltaTime);
_lateUpdateDeltaTime = 0f;
}
return ret;
}
#endregion
#region//子类继承
//子类继承更新操作
protected virtual bool OnUpdate(float deltaTime)
{
return true;
}
protected virtual bool OnLateUpdate(float deltaTime)
{
return true;
}
#endregion
}
}