mirror of
https://github.com/Alex-Rachel/TEngine.git
synced 2025-08-14 16:51:28 +00:00
GameTime增加服务器时间
GameTime增加服务器时间
This commit is contained in:
@@ -7,6 +7,14 @@ namespace TEngine
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public static class GameTime
|
public static class GameTime
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 开始记录
|
||||||
|
/// </summary>
|
||||||
|
public static void Start()
|
||||||
|
{
|
||||||
|
_lastFrameTimeStamp = TimeStamp;
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 这一帧的记录
|
/// 这一帧的记录
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -17,14 +25,34 @@ namespace TEngine
|
|||||||
quickRealTime = Time.realtimeSinceStartup;
|
quickRealTime = Time.realtimeSinceStartup;
|
||||||
frameCount = Time.frameCount;
|
frameCount = Time.frameCount;
|
||||||
unscaledTime = Time.unscaledTime;
|
unscaledTime = Time.unscaledTime;
|
||||||
|
|
||||||
|
long now = TimeStamp;
|
||||||
|
|
||||||
|
if (ServerTimeStamp > 0)
|
||||||
|
{
|
||||||
|
ServerTimeStamp += now - _lastFrameTimeStamp;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ServerTimeStamp = now;
|
||||||
|
}
|
||||||
|
_lastFrameTimeStamp = now;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static float time;
|
public static float time;
|
||||||
public static float deltaTime;
|
public static float deltaTime;
|
||||||
public static int frameCount;
|
public static int frameCount;
|
||||||
public static float unscaledTime;
|
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
|
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 生命周期
|
#region 生命周期
|
||||||
public void Start()
|
public void Start()
|
||||||
{
|
{
|
||||||
|
GameTime.Start();
|
||||||
GameTime.StartFrame();
|
GameTime.StartFrame();
|
||||||
var listLogic = m_LogicMgrList;
|
var listLogic = m_LogicMgrList;
|
||||||
var logicCnt = listLogic.Count;
|
var logicCnt = listLogic.Count;
|
||||||
|
@@ -7,6 +7,14 @@ namespace TEngineCore
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public static class GameTime
|
public static class GameTime
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 开始记录
|
||||||
|
/// </summary>
|
||||||
|
public static void Start()
|
||||||
|
{
|
||||||
|
_lastFrameTimeStamp = TimeStamp;
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 这一帧的记录
|
/// 这一帧的记录
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -17,14 +25,34 @@ namespace TEngineCore
|
|||||||
quickRealTime = Time.realtimeSinceStartup;
|
quickRealTime = Time.realtimeSinceStartup;
|
||||||
frameCount = Time.frameCount;
|
frameCount = Time.frameCount;
|
||||||
unscaledTime = Time.unscaledTime;
|
unscaledTime = Time.unscaledTime;
|
||||||
|
|
||||||
|
long now = TimeStamp;
|
||||||
|
|
||||||
|
if (ServerTimeStamp > 0)
|
||||||
|
{
|
||||||
|
ServerTimeStamp += now - _lastFrameTimeStamp;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ServerTimeStamp = now;
|
||||||
|
}
|
||||||
|
_lastFrameTimeStamp = now;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static float time;
|
public static float time;
|
||||||
public static float deltaTime;
|
public static float deltaTime;
|
||||||
public static int frameCount;
|
public static int frameCount;
|
||||||
public static float unscaledTime;
|
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
|
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 生命周期
|
#region 生命周期
|
||||||
public void Start()
|
public void Start()
|
||||||
{
|
{
|
||||||
|
GameTime.Start();
|
||||||
GameTime.StartFrame();
|
GameTime.StartFrame();
|
||||||
var listLogic = m_LogicMgrList;
|
var listLogic = m_LogicMgrList;
|
||||||
var logicCnt = listLogic.Count;
|
var logicCnt = listLogic.Count;
|
||||||
|
Reference in New Issue
Block a user