From b25049dc4ba2c5974df11ff9c87a1c35902902c6 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期六, 07 二月 2026 16:24:02 +0800
Subject: [PATCH] 66 【公会】基础主体 - 跨服和本服公用时间接口
---
Main/System/Guild/GuildManager.cs | 4 +-
Main/Utility/TimeUtility.cs | 36 ++++++++++++++++++
Main/System/Guild/GuildHawkerWin.cs | 7 ++-
Main/System/Guild/GuildManager.CrossServer.cs | 31 ---------------
Main/System/Guild/GuildBossWin.cs | 8 ++--
5 files changed, 47 insertions(+), 39 deletions(-)
diff --git a/Main/System/Guild/GuildBossWin.cs b/Main/System/Guild/GuildBossWin.cs
index 5b8e74f..2c51665 100644
--- a/Main/System/Guild/GuildBossWin.cs
+++ b/Main/System/Guild/GuildBossWin.cs
@@ -138,7 +138,7 @@
void Display()
{
- endTimeText.text = Language.Get("Arena14", TimeUtility.SecondsToHMS((int)(TimeUtility.GetTodayEndTime() - TimeUtility.ServerNow).TotalSeconds));
+ endTimeText.text = Language.Get("Arena14", TimeUtility.SecondsToHMS((int)(TimeUtility.GetCommTodayEndTime(GuildManager.Instance.zoneID) - TimeUtility.GetCommServerNow(GuildManager.Instance.zoneID)).TotalSeconds));
fightPowerText.text = UIHelper.ReplaceLargeArtNum(PlayerDatas.Instance.baseData.FightPower);
headCell.InitUI(AvatarHelper.GetAvatarModel((int)PlayerDatas.Instance.baseData.PlayerID,
PlayerDatas.Instance.baseData.face,
@@ -271,7 +271,7 @@
bzAttrText.text = GetAddAttrs(bossAction);
var layer = bossAction == null ? 0 : bossAction.Value3;
var bzTime = bossAction == null ? 0 : bossAction.Value2;
- int remainTime = (int)Math.Max(0, bzTime - TimeUtility.AllSeconds);
+ int remainTime = (int)Math.Max(0, bzTime - TimeUtility.GetCommServerTick(GuildManager.Instance.zoneID));
if (remainTime == 0)
{
//鏃堕棿鍒颁簡 瀹㈡埛绔嚜宸辨竻0
@@ -292,7 +292,7 @@
{
var layerNum = action == null ? 0 : action.Value3;
var bzTime = action == null ? 0 : action.Value2;
- int remainTime = (int)Math.Max(0, bzTime - TimeUtility.AllSeconds);
+ int remainTime = (int)Math.Max(0, bzTime - TimeUtility.GetCommServerTick(GuildManager.Instance.zoneID));
if (remainTime == 0)
{
//鏃堕棿鍒颁簡 瀹㈡埛绔嚜宸辨竻0
@@ -310,7 +310,7 @@
void OnSecondEvent()
{
- endTimeText.text = Language.Get("Arena14", TimeUtility.SecondsToHMS((int)(TimeUtility.GetTodayEndTime() - TimeUtility.ServerNow).TotalSeconds));
+ endTimeText.text = Language.Get("Arena14", TimeUtility.SecondsToHMS((int)(TimeUtility.GetCommTodayEndTime(GuildManager.Instance.zoneID) - TimeUtility.GetCommServerNow(GuildManager.Instance.zoneID)).TotalSeconds));
var bossAction = GuildBossManager.Instance.GetGuildBossAction();
ShowBzInfo(bossAction);
OtherPlayerAnimation();
diff --git a/Main/System/Guild/GuildHawkerWin.cs b/Main/System/Guild/GuildHawkerWin.cs
index 08375de..5439919 100644
--- a/Main/System/Guild/GuildHawkerWin.cs
+++ b/Main/System/Guild/GuildHawkerWin.cs
@@ -61,7 +61,8 @@
void OnSecondEvent()
{
- timeText.text = Language.Get("Guild_74", TimeUtility.SecondsToShortDHMS((int)(GuildManager.Instance.GetTodayEndTime() - GuildManager.Instance.GetServerNow()).TotalSeconds));
+ timeText.text = Language.Get("Guild_74", TimeUtility.SecondsToShortDHMS((int)(TimeUtility.GetCommTodayEndTime(GuildManager.Instance.zoneID) -
+ TimeUtility.GetCommServerNow(GuildManager.Instance.zoneID)).TotalSeconds));
}
int index = 0;
@@ -199,9 +200,9 @@
void OnCut()
{
//鐮嶄环鐨刢d闄愬埗: 鍏細娌℃湁璁板綍鑷繁鐮嶈繃浠凤紝浣嗕粖澶╂湁鐮嶄环璁板綍锛屼笖閫�鍑鸿繃鍏細
- if (GuildManager.Instance.zhenbaogeCutState == 0 && GuildManager.Instance.needCheckCutCD && (GuildManager.Instance.GetServerTick() - PlayerDatas.Instance.baseData.leaveFamilyTime) / 60 < GuildManager.Instance.zbgChangFamilyCD )
+ if (GuildManager.Instance.zhenbaogeCutState == 0 && GuildManager.Instance.needCheckCutCD && (TimeUtility.GetCommServerTick(GuildManager.Instance.zoneID) - PlayerDatas.Instance.baseData.leaveFamilyTime) / 60 < GuildManager.Instance.zbgChangFamilyCD )
{
- SysNotifyMgr.Instance.ShowTip("ZhenbaogeCut1", GuildManager.Instance.zbgChangFamilyCD - (GuildManager.Instance.GetServerTick() - PlayerDatas.Instance.baseData.leaveFamilyTime) / 60);
+ SysNotifyMgr.Instance.ShowTip("ZhenbaogeCut1", GuildManager.Instance.zbgChangFamilyCD - (TimeUtility.GetCommServerTick(GuildManager.Instance.zoneID) - PlayerDatas.Instance.baseData.leaveFamilyTime) / 60);
return;
}
if (GuildManager.Instance.zhenbaogeCutState == 0)
diff --git a/Main/System/Guild/GuildManager.CrossServer.cs b/Main/System/Guild/GuildManager.CrossServer.cs
index 68ba92a..e967068 100644
--- a/Main/System/Guild/GuildManager.CrossServer.cs
+++ b/Main/System/Guild/GuildManager.CrossServer.cs
@@ -22,36 +22,7 @@
OnRefreshCrossServerInfoEvent?.Invoke();
}
- // 鑾峰彇褰撳墠鏃堕棿, 鍏細璺ㄥ尯鍓嶅彇鏈湇鏃堕棿锛岃法鏈嶅悗鍙栬法鏈嶆椂闂�
- public DateTime GetServerNow()
- {
- if (zoneID == 0)
- {
- return TimeUtility.ServerNow;
- }
- else
- {
- return TimeUtility.CrossServerNow;
- }
- }
-
- public int GetServerTick()
- {
- if (zoneID == 0)
- {
- return TimeUtility.AllSeconds;
- }
- else
- {
- return TimeUtility.AllSecondsCrossServer;
- }
- }
-
- public DateTime GetTodayEndTime()
- {
- var now = GetServerNow().AddDays(1);
- return new DateTime(now.Year, now.Month, now.Day);
- }
+
}
diff --git a/Main/System/Guild/GuildManager.cs b/Main/System/Guild/GuildManager.cs
index 1abadc5..5d3e69e 100644
--- a/Main/System/Guild/GuildManager.cs
+++ b/Main/System/Guild/GuildManager.cs
@@ -349,7 +349,7 @@
punishTime = quitGuildPunishTime[Math.Min(quitCount, quitGuildPunishTime.Length - 1)];
}
- return punishTime * 60 - (GetServerTick() - PlayerDatas.Instance.baseData.leaveFamilyTime);
+ return punishTime * 60 - (TimeUtility.GetCommServerTick(zoneID)- PlayerDatas.Instance.baseData.leaveFamilyTime);
}
@@ -1118,7 +1118,7 @@
{
return;
}
- if (GetServerNow().Hour < 10)
+ if (TimeUtility.GetCommServerNow(zoneID).Hour < 10)
return;
if (zhenbaogeCutState == 0)
diff --git a/Main/Utility/TimeUtility.cs b/Main/Utility/TimeUtility.cs
index ed856e8..ef8a4a1 100644
--- a/Main/Utility/TimeUtility.cs
+++ b/Main/Utility/TimeUtility.cs
@@ -547,4 +547,40 @@
{
return (int)(GetTodayEndTime() - ServerNow).TotalSeconds;
}
+
+ #region 璺ㄦ湇鍜屾湰鏈嶅叕鐢ㄦ帴鍙�
+ //褰撴湁鐨勫姛鑳戒細浠庢湰鏈嶅姛鑳藉彉鎴愯法鏈嶅姛鑳界殑鏃跺�欑粺涓�鐢ㄨ繖浜涙帴鍙e鐞嗘椂闂�
+ //鍚勮嚜鐨勫姛鑳戒紶鑷繁鐨剒oneID
+
+ // 鑾峰彇褰撳墠鏃堕棿, 鍏細璺ㄥ尯鍓嶅彇鏈湇鏃堕棿锛岃法鏈嶅悗鍙栬法鏈嶆椂闂�
+ public static DateTime GetCommServerNow(int zoneID = 0)
+ {
+ if (zoneID == 0)
+ {
+ return ServerNow;
+ }
+ else
+ {
+ return CrossServerNow;
+ }
+ }
+
+ public static int GetCommServerTick(int zoneID = 0)
+ {
+ if (zoneID == 0)
+ {
+ return AllSeconds;
+ }
+ else
+ {
+ return AllSecondsCrossServer;
+ }
+ }
+
+ public static DateTime GetCommTodayEndTime(int zoneID = 0)
+ {
+ var now = GetCommServerNow(zoneID).AddDays(1);
+ return new DateTime(now.Year, now.Month, now.Day);
+ }
+ #endregion
}
--
Gitblit v1.8.0