123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- 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();
- RechargeSProxy.ReqRequestGiftBagInfo().Coroutine();
- RechargeSProxy.ReqExchangeInfo().Coroutine();
- DailyTaskSProxy.ReqDailyTaskInfos().Coroutine();
- SuitFosterProxy.SendGetSuitInfos().Coroutine();
- FieldSProxy.ReqFieldInstanceInfos().Coroutine();
- }
- }
- }
- }
|