狗屎Minimax坏我代码
This commit is contained in:
@@ -20,8 +20,7 @@ namespace Cielonos.MainGame.Effects.Feedback
|
||||
/// <summary>
|
||||
/// 全局时间缩放(TimeManager.globalTimeScale)。
|
||||
/// </summary>
|
||||
public float GlobalTimeScale =>
|
||||
TimeManager.Instance != null ? TimeManager.Instance.globalTimeScale.Value : 1f;
|
||||
public float GlobalTimeScale => TimeManager.Instance != null ? TimeManager.Instance.globalTimeScale.Value : 1f;
|
||||
|
||||
/// <summary>
|
||||
/// 分组时间缩放,根据角色 Fraction 返回对应的 TimeManager 通道值。
|
||||
@@ -48,28 +47,31 @@ namespace Cielonos.MainGame.Effects.Feedback
|
||||
/// <summary>
|
||||
/// 角色本地时间缩放(SelfTimeSubmodule.localTimeScale)。
|
||||
/// </summary>
|
||||
public float LocalTimeScale =>
|
||||
_character?.selfTimeSm?.localTimeScale?.Value ?? 1f;
|
||||
public float LocalTimeScale => _character?.selfTimeSm?.localTimeScale?.Value ?? 1f;
|
||||
|
||||
/// <summary>
|
||||
/// 根据 FeedbackTimeSettings 组合各层级缩放计算实际 deltaTime。
|
||||
/// 根据 FeedbackTimeSettings 计算综合时间缩放系数(不含 deltaTime)。
|
||||
/// 返回 1.0 表示正常速度。
|
||||
/// </summary>
|
||||
public float GetTimeScale(FeedbackTimeSettings settings)
|
||||
{
|
||||
if (settings == null || settings.timeScaleType == FeedbackTimeSettings.TimeScaleType.Unscaled) return 1f;
|
||||
|
||||
float scale = 1f;
|
||||
|
||||
if (settings.timeScaleType == FeedbackTimeSettings.TimeScaleType.Global) scale *= GlobalTimeScale;
|
||||
if (settings.timeScaleType == FeedbackTimeSettings.TimeScaleType.Group) scale *= GroupTimeScale;
|
||||
if (settings.timeScaleType == FeedbackTimeSettings.TimeScaleType.Local) scale *= LocalTimeScale;
|
||||
|
||||
return scale;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据 FeedbackTimeSettings 组合各层级缩放计算实际 deltaTime(秒)。
|
||||
/// </summary>
|
||||
public float GetDeltaTime(FeedbackTimeSettings settings)
|
||||
{
|
||||
if (settings == null || !settings.useTimeScale) return Time.unscaledDeltaTime;
|
||||
|
||||
float dt = Time.unscaledDeltaTime;
|
||||
|
||||
if (settings.affectedByGlobalTimeScale)
|
||||
dt *= GlobalTimeScale;
|
||||
|
||||
if (settings.affectedByGroupTimeScale)
|
||||
dt *= GroupTimeScale;
|
||||
|
||||
if (settings.affectedByLocalTimeScale)
|
||||
dt *= LocalTimeScale;
|
||||
|
||||
return dt;
|
||||
return Time.unscaledDeltaTime * GetTimeScale(settings);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user