RoleDataHandler.cs 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. using ET;
  2. using FairyGUI;
  3. namespace GFGGame
  4. {
  5. public class RoleDataHandler
  6. {
  7. private static int seconds = 0;
  8. public static void StartUpdate()
  9. {
  10. StopUpdate();
  11. //每秒检测
  12. Timers.inst.Add(1, 0, OnUpdate);
  13. }
  14. public static void StopUpdate()
  15. {
  16. Timers.inst.Remove(OnUpdate);
  17. }
  18. private static void OnUpdate(object param)
  19. {
  20. if(AntiAddictionController.CheckAntiAddictionWhenPlay())
  21. {
  22. StopUpdate();
  23. return;
  24. }
  25. int currentTimeSecs = (int)(Game.TimeInfo.ServerNow() / 1000);
  26. if (!RoleDataManager.powerTimeServerLock && !RoleDataManager.CheckPowerFull())
  27. {
  28. int powerTime = GameGlobal.myNumericComponent.GetAsInt(NumericType.PowerTime);
  29. int passTime = currentTimeSecs - powerTime;
  30. if (passTime >= GameConst.INTERVAL_TIME_SECONDS_POWER)
  31. {
  32. RoleDataManager.powerTimeServerLock = true;
  33. NumericHelper.RequestAddAttributePoint(GameGlobal.zoneScene, NumericType.Power).Coroutine();
  34. }
  35. }
  36. int dailyResetSecs = GameGlobal.myNumericComponent.GetAsInt(NumericType.DailyResetSecs);
  37. if (TimeHelper.ServerNowSecs >= dailyResetSecs)
  38. {
  39. CommonSProxy.ResetDailyData().Coroutine();
  40. }
  41. if (seconds >= TimeUtil.SECOND_PER_MUNITE * 1)
  42. {
  43. ViewManager.CheckDispsoe();
  44. seconds = 0;
  45. }
  46. seconds++;
  47. }
  48. }
  49. }