using ET; using FairyGUI; using YooAsset; namespace GFGGame { public class RoleDataHandler { private static int seconds = 0; public static void StartUpdate() { StopUpdate(); //每秒检测 Timers.inst.Add(1, 0, OnUpdate); } public static void StopUpdate() { Timers.inst.Remove(OnUpdate); } private static void OnUpdate(object param) { if (AntiAddictionController.CheckAntiAddictionWhenPlay()) { StopUpdate(); return; } 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(); } } int dailyResetSecs = GameGlobal.myNumericComponent.GetAsInt(NumericType.DailyResetSecs); if (TimeHelper.ServerNowSecs >= dailyResetSecs) { CommonSProxy.ResetDailyData().Coroutine(); } if (seconds >= TimeUtil.SECOND_PER_MUNITE * 1) { ViewManager.CheckDispose(); YooAssets.GetPackage(VersionController.DefaultPackage)?.UnloadUnusedAssets(); seconds = 0; } seconds++; } } }