| 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();            }        }    }}
 |