mirror of
https://github.com/Alex-Rachel/TEngine.git
synced 2025-08-07 16:45:10 +00:00
GameTime增加服务器时间
GameTime增加服务器时间
This commit is contained in:
@@ -7,6 +7,14 @@ namespace TEngine
|
||||
/// </summary>
|
||||
public static class GameTime
|
||||
{
|
||||
/// <summary>
|
||||
/// 开始记录
|
||||
/// </summary>
|
||||
public static void Start()
|
||||
{
|
||||
_lastFrameTimeStamp = TimeStamp;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 这一帧的记录
|
||||
/// </summary>
|
||||
@@ -17,14 +25,34 @@ namespace TEngine
|
||||
quickRealTime = Time.realtimeSinceStartup;
|
||||
frameCount = Time.frameCount;
|
||||
unscaledTime = Time.unscaledTime;
|
||||
|
||||
long now = TimeStamp;
|
||||
|
||||
if (ServerTimeStamp > 0)
|
||||
{
|
||||
ServerTimeStamp += now - _lastFrameTimeStamp;
|
||||
}
|
||||
else
|
||||
{
|
||||
ServerTimeStamp = now;
|
||||
}
|
||||
_lastFrameTimeStamp = now;
|
||||
}
|
||||
|
||||
public static float time;
|
||||
public static float deltaTime;
|
||||
public static int frameCount;
|
||||
public static float unscaledTime;
|
||||
public static long ServerTimeStamp;
|
||||
private static System.DateTime _epochDateTime = System.TimeZoneInfo.ConvertTime(new System.DateTime(1970, 1, 1), System.TimeZoneInfo.Local);
|
||||
public static float quickRealTime;
|
||||
public static long TimeStamp => System.DateTimeOffset.Now.ToUnixTimeMilliseconds();
|
||||
private static long _lastFrameTimeStamp;
|
||||
|
||||
public static float realtimeSinceStartup
|
||||
/// <summary>
|
||||
/// 从游戏启动到现在的真实时长(秒)
|
||||
/// </summary>
|
||||
public static float RealtimeSinceStartup
|
||||
{
|
||||
get
|
||||
{
|
||||
@@ -32,6 +60,14 @@ namespace TEngine
|
||||
}
|
||||
}
|
||||
|
||||
public static float quickRealTime;
|
||||
/// <summary>
|
||||
/// 服务器同步时间
|
||||
/// </summary>
|
||||
/// <param name="serverTime"></param>
|
||||
public static void ServerTimeSync(long serverTime)
|
||||
{
|
||||
ServerTimeStamp = serverTime;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
@@ -74,6 +74,7 @@ namespace TEngine
|
||||
#region 生命周期
|
||||
public void Start()
|
||||
{
|
||||
GameTime.Start();
|
||||
GameTime.StartFrame();
|
||||
var listLogic = m_LogicMgrList;
|
||||
var logicCnt = listLogic.Count;
|
||||
|
@@ -7,6 +7,14 @@ namespace TEngineCore
|
||||
/// </summary>
|
||||
public static class GameTime
|
||||
{
|
||||
/// <summary>
|
||||
/// 开始记录
|
||||
/// </summary>
|
||||
public static void Start()
|
||||
{
|
||||
_lastFrameTimeStamp = TimeStamp;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 这一帧的记录
|
||||
/// </summary>
|
||||
@@ -17,14 +25,34 @@ namespace TEngineCore
|
||||
quickRealTime = Time.realtimeSinceStartup;
|
||||
frameCount = Time.frameCount;
|
||||
unscaledTime = Time.unscaledTime;
|
||||
|
||||
long now = TimeStamp;
|
||||
|
||||
if (ServerTimeStamp > 0)
|
||||
{
|
||||
ServerTimeStamp += now - _lastFrameTimeStamp;
|
||||
}
|
||||
else
|
||||
{
|
||||
ServerTimeStamp = now;
|
||||
}
|
||||
_lastFrameTimeStamp = now;
|
||||
}
|
||||
|
||||
public static float time;
|
||||
public static float deltaTime;
|
||||
public static int frameCount;
|
||||
public static float unscaledTime;
|
||||
public static long ServerTimeStamp;
|
||||
private static System.DateTime _epochDateTime = System.TimeZoneInfo.ConvertTime(new System.DateTime(1970, 1, 1), System.TimeZoneInfo.Local);
|
||||
public static float quickRealTime;
|
||||
public static long TimeStamp => System.DateTimeOffset.Now.ToUnixTimeMilliseconds();
|
||||
private static long _lastFrameTimeStamp;
|
||||
|
||||
public static float realtimeSinceStartup
|
||||
/// <summary>
|
||||
/// 从游戏启动到现在的真实时长(秒)
|
||||
/// </summary>
|
||||
public static float RealtimeSinceStartup
|
||||
{
|
||||
get
|
||||
{
|
||||
@@ -32,6 +60,14 @@ namespace TEngineCore
|
||||
}
|
||||
}
|
||||
|
||||
public static float quickRealTime;
|
||||
/// <summary>
|
||||
/// 服务器同步时间
|
||||
/// </summary>
|
||||
/// <param name="serverTime"></param>
|
||||
public static void ServerTimeSync(long serverTime)
|
||||
{
|
||||
ServerTimeStamp = serverTime;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
@@ -74,6 +74,7 @@ namespace TEngineCore
|
||||
#region 生命周期
|
||||
public void Start()
|
||||
{
|
||||
GameTime.Start();
|
||||
GameTime.StartFrame();
|
||||
var listLogic = m_LogicMgrList;
|
||||
var logicCnt = listLogic.Count;
|
||||
|
Reference in New Issue
Block a user