12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- using ET;
- using FairyGUI;
- using static UnityEngine.UI.CanvasScaler;
- namespace GFGGame
- {
- public class RoleDataHandler
- {
- //单位秒
- private const int INTERVAL_HEARTBEAT = 20;
- private static int _heartbeatCDEnd = 0;
- public static void StartUpdate()
- {
- int currentTimeSecs = (int)(Game.TimeInfo.ServerNow() / 1000);
- _heartbeatCDEnd = currentTimeSecs + INTERVAL_HEARTBEAT;
- StopUpdate();
- //每秒检测
- Timers.inst.Add(1, 0, OnUpdate);
- }
- public static void StopUpdate()
- {
- Timers.inst.Remove(OnUpdate);
- }
- private static void OnUpdate(object param)
- {
- int currentTimeSecs = (int)(Game.TimeInfo.ServerNow() / 1000);
- if (!RoleDataManager.powerTimeServerLock &&!RoleDataManager.CheckPowerFull())
- {
- int powerTime = GameGlobal.myNumericComponent.GetAsInt(NumericType.PowerTime);
- int passTime = currentTimeSecs - powerTime;
- if(passTime >= GameConst.INTERVAL_TIME_SECONDS_POWER)
- {
- RoleDataManager.powerTimeServerLock = true;
- NumericHelper.RequestAddAttributePoint(GameGlobal.zoneScene, NumericType.Power).Coroutine();
- }
- }
- if(currentTimeSecs >= _heartbeatCDEnd)
- {
- //GameProxy.ReqUpdateTime();
- _heartbeatCDEnd = currentTimeSecs + INTERVAL_HEARTBEAT;
- }
- int dailyResetSecs = GameGlobal.myNumericComponent.GetAsInt(NumericType.DailyResetSecs);
- if (TimeHelper.ServerNowSecs >= dailyResetSecs)
- {
- CommonSProxy.ResetDailyData().Coroutine();
- }
- }
- }
- }
|