ActivityDay7DataManager.cs 3.0 KB

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