ActivityDay7DataManager.cs 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. using System;
  2. using ET;
  3. using Hutool;
  4. namespace GFGGame
  5. {
  6. public class ActivityDay7DataManager : SingletonBase<ActivityDay7DataManager>
  7. {
  8. public int GetActivityDay7Day()
  9. {
  10. //获取7日任务活动
  11. var activityInfo = ActivityGlobalDataManager.Instance.GetActivityInfoOneByType(ActivityType.Day7);
  12. return activityInfo == null ? 0 : TimeUtil.GetDay5(activityInfo.StartTime);
  13. }
  14. public int GetActivityDay7MaxPassDay()
  15. {
  16. return Math.Min( CommonDataManager.Tables.TblActivity7DaysTaskCfg.DataList.Count,
  17. ActivityDay7DataManager.Instance.GetActivityDay7Day());
  18. }
  19. public long GetScore()
  20. {
  21. return ItemDataManager.GetItemNum(ConstItemID.ACTIVITY_DAY_7_SCORE);
  22. }
  23. //NumericType.Day7ActivityReward,true表示已获得?
  24. public bool GetActivityDay7RewardState(int id)
  25. {
  26. var day7ActivityReward = GameGlobal.myNumericComponent.GetAsInt(NumericType.Day7ActivityReward);
  27. return MathUtil.isBitSet(day7ActivityReward, id);
  28. }
  29. //检测7日活动活跃奖励是否可领
  30. public bool CheckActivityDay7RewardCanGet(int id)
  31. {
  32. var activity7DaysCfg = CommonDataManager.Tables.TblActivity7DaysCfg.GetOrDefault(id);
  33. var got = ActivityDay7DataManager.Instance.GetActivityDay7RewardState(id);
  34. if (got)
  35. {
  36. return false;
  37. }
  38. //判断积分是否够
  39. var score = ActivityDay7DataManager.Instance.GetScore();
  40. if (score < activity7DaysCfg.Score)
  41. {
  42. return false;
  43. }
  44. return true;
  45. }
  46. //检查指定天数有没有任务奖励可领
  47. public bool CheckActivityDay7TaskRewrdCanGetByDay(int day)
  48. {
  49. //检查天数
  50. var currentDay = ActivityDay7DataManager.Instance.GetActivityDay7MaxPassDay();
  51. if (currentDay < day)
  52. {
  53. return false;
  54. }
  55. var activity7DaysTaskCfg = CommonDataManager.Tables.TblActivity7DaysTaskCfg.GetOrDefault(day);
  56. if (activity7DaysTaskCfg == null)
  57. {
  58. return false;
  59. }
  60. var taskIdArr = activity7DaysTaskCfg.TaskId;
  61. foreach (int taskId in taskIdArr)
  62. {
  63. if (TaskDataManager.Instance.GetTaskStateById(taskId) == ConstBonusStatus.CAN_GET)
  64. {
  65. return true;
  66. }
  67. }
  68. return false;
  69. }
  70. public bool CheckOpen()
  71. {
  72. var activityInfo = ActivityGlobalDataManager.Instance.GetActivityInfoOneByType(ActivityType.Day7);
  73. return activityInfo != null && activityInfo.StartTime <= TimeHelper.ServerNow() &&
  74. activityInfo.EndTime > TimeHelper.ServerNow();
  75. }
  76. public long GetEndTime()
  77. {
  78. var activityInfo = ActivityGlobalDataManager.Instance.GetActivityInfoOneByType(ActivityType.Day7);
  79. return activityInfo.EndTime;
  80. }
  81. }
  82. }