ActivityDay7DataManager.cs 2.7 KB

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