Permalink
Switch branches/tags
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
153 lines (99 sloc) 2.6 KB
title type order enable
时间
guide
501
true

时间

CatLib时间组件允许建立自己独立的时间体系。

默认的时间

默认的时间是基于Unity的时间的简单包装。

时间API

下述内容的描述是基于默认时间的,如果使用了扩展时间,其意义可能发生变化。

Time

从游戏开始到现在所用的时间(秒)

var time = timeManager.Default.Time;

DeltaTime

上一帧到当前帧的时间(秒)

var deltaTime = timeManager.Default.DeltaTime;

FixedTime

游戏开始到现在的时间(秒)

通过固定时间更新

var fixedTime = timeManager.Default.FixedTime;

TimeSinceLevelLoad

从当前场景开始到目前为止的时间(秒)

var timeSinceLevelLoad = timeManager.Default.TimeSinceLevelLoad;

FixedDeltaTime

固定帧的更新时间

var fixedDeltaTime = timeManager.Default.FixedDeltaTime;
timeManager.Default.FixedDeltaTime = 0.2f;

MaximumDeltaTime

能获取的最大帧与帧之间的更新时间

var maximumDeltaTime = timeManager.Default.MaximumDeltaTime;

SmoothDeltaTime

平稳的更新时间,根据前N帧的加权平均值

var smoothDeltaTime = timeManager.Default.SmoothDeltaTime;

TimeScale

时间缩放系数

var timeScale = timeManager.Default.TimeScale;
timeManager.Default.TimeScale = 0.5f;

FrameCount

从游戏开始到目前为止的总帧数

var frameCount = timeManager.Default.FrameCount;

RealtimeSinceStartup

从游戏开始到目前为止的总时间(哪怕时间缩放系数为0也会增长)

var realtimeSinceStartup = timeManager.Default.RealtimeSinceStartup;

CaptureFramerate

每秒的帧率

var captureFramerate = timeManager.Default.CaptureFramerate;
timeManager.Default.CaptureFramerate = 30;

UnscaledDeltaTime

不计算时间缩放系数的帧与帧之间的更新时间。

var unscaledDeltaTime = timeManager.Default.UnscaledDeltaTime;

UnscaledTime

不考虑时间缩放系数,从游戏开始到目前为止的总时间

var unscaledTime = timeManager.Default.UnscaledTime;

扩展时间

您可以通过Extend()方法拓展出新的时间。

timeManager.Extend(()=>
{
    return new UnityTime();
},"NewTime");

通过Get()可以获得您拓展的时间。

var timeSystem = timeManager.Get("NewTime");