ActivityDay7DataManager.cs 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  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);
  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. if(activity7DaysTaskCfg == null)
  50. {
  51. return false;
  52. }
  53. var taskIdArr = activity7DaysTaskCfg.taskIdArr;
  54. foreach(int taskId in taskIdArr)
  55. {
  56. if(TaskDataManager.Instance.GetTaskStateById(taskId) == ConstBonusStatus.CAN_GET)
  57. {
  58. return true;
  59. }
  60. }
  61. return false;
  62. }
  63. public bool CheckOpen()
  64. {
  65. var activityInfo = ActivityGlobalDataManager.Instance.GetActivityInfoOneByType(ActivityType.Day7);
  66. return activityInfo != null && activityInfo.StartTime <= TimeHelper.ServerNow() &&
  67. activityInfo.EndTime > TimeHelper.ServerNow();
  68. }
  69. public long GetEndTime()
  70. {
  71. var activityInfo = ActivityGlobalDataManager.Instance.GetActivityInfoOneByType(ActivityType.Day7);
  72. return activityInfo.EndTime;
  73. }
  74. }
  75. }