ActivityAfuGiftDataManager.cs 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. using ET;
  2. using System;
  3. using System.Collections;
  4. using System.Collections.Generic;
  5. using cfg.GfgCfg;
  6. using UnityEngine;
  7. namespace GFGGame
  8. {
  9. public class ActivityAfuGiftDataManager : SingletonBase<ActivityAfuGiftDataManager>
  10. {
  11. private ActivityInfo info;
  12. public ActivityInfo Info { get => info; set => info = value; }
  13. private int _indexDay;
  14. private bool _isBuy;
  15. //已经领奖levelId
  16. private List<int> _normalRewards = new List<int>();
  17. //已经高级领奖levelId
  18. private List<int> _superRewards = new List<int>();
  19. private List<ActivityLoginCfg> _rewardCfgs;
  20. public List<ActivityLoginCfg> RewardCfgs { get => _rewardCfgs; set => _rewardCfgs = value; }
  21. //消暑礼包
  22. public int SummerActivityID = 3003;
  23. public bool IsSummerGiftBuy = false;
  24. public Dictionary<int, List<int>> SummerGiftRewardState = new Dictionary<int, List<int>>()
  25. {
  26. [0] = new List<int>(),
  27. [1] = new List<int>()
  28. };
  29. private bool _isOpen;
  30. public bool IsOpen { get => _isOpen; set => _isOpen = value; }
  31. private bool _needRefresh;
  32. public bool NeedRefresh { get => _needRefresh; set => _needRefresh = value; }
  33. public bool CheckIconShow()
  34. {
  35. var activityInfo = ActivityGlobalDataManager.Instance.GetActivityInfoOneByType(ActivityType.AFZL);
  36. return activityInfo != null && activityInfo.StartTime <= TimeHelper.ServerNow() &&
  37. activityInfo.EndTime > TimeHelper.ServerNow();
  38. }
  39. public void InitActivityInfo()
  40. {
  41. Info = ActivityGlobalDataManager.Instance.GetActivityInfoOneByType(ActivityType.AFZL);
  42. RewardCfgs = CommonDataManager.Tables.TblActivityLoginCfg.GetGroup1ById(Info.ActivityId);
  43. }
  44. public int GetNormalRewardStateByDay(int indexDay)
  45. {
  46. return _normalRewards[indexDay];
  47. }
  48. public int GetSuperRewardStateByDay(int indexDay)
  49. {
  50. return _superRewards[indexDay];
  51. }
  52. public void SetRewardStateList(List<int> list, bool isVip)
  53. {
  54. if (isVip)
  55. {
  56. _superRewards = new List<int>(list);
  57. }
  58. else
  59. {
  60. _normalRewards = new List<int>(list);
  61. }
  62. }
  63. public void SetIsBuy(bool isBuy)
  64. {
  65. _isBuy = isBuy;
  66. }
  67. public bool GetIsBuy()
  68. {
  69. return _isBuy;
  70. }
  71. public void SetIndexDay(int indexDay)
  72. {
  73. _indexDay = indexDay;
  74. }
  75. public int GetIndexDay()
  76. {
  77. return _indexDay;
  78. }
  79. public bool HaveCanGetReward()
  80. {
  81. if (!_isOpen)
  82. {
  83. return false;
  84. }
  85. int passDay = GetIndexDay();
  86. for (int i = passDay - 1; i >= 0; i--)
  87. {
  88. if (GetNormalRewardStateByDay(i) == ConstBonusStatus.CAN_GET
  89. || GetSuperRewardStateByDay(i) == ConstBonusStatus.CAN_GET)
  90. {
  91. return true;
  92. }
  93. }
  94. return false;
  95. }
  96. public void Clear()
  97. {
  98. _isOpen = false;
  99. _needRefresh = true;
  100. //info = null;
  101. //_isBuy = false;
  102. //_indexDay = 1;
  103. //_normalRewards.Clear();
  104. //_superRewards.Clear();
  105. }
  106. public bool GetSummerGiftRewardAllState()
  107. {
  108. long curTime = TimeHelper.ServerNow();
  109. var activityInfo = ActivityGlobalDataManager.Instance.GetActivityInfo(SummerActivityID);
  110. if (activityInfo == null)
  111. {
  112. return false;
  113. }
  114. foreach (var item in SummerGiftRewardState)
  115. {
  116. foreach(var state in item.Value)
  117. {
  118. if(state == 1)
  119. {
  120. return true;
  121. }
  122. }
  123. }
  124. return false;
  125. }
  126. }
  127. }