ActivityTeaDataManager.cs 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. using ET;
  2. using GFGGame;
  3. using System.Collections;
  4. using System.Collections.Generic;
  5. using UnityEngine;
  6. namespace Assets.Game.HotUpdate.Data
  7. {
  8. public class ActivityTeaDataManager : SingletonBase<ActivityTeaDataManager>
  9. {
  10. public List<ItemSyntheticProto> ItemSynthetics = new List<ItemSyntheticProto>();
  11. /**********************************************************新春活动*************************************************/
  12. public List<NpcVisitProto> NpcInfoList = new List<NpcVisitProto>();
  13. public bool CheckOpen()
  14. {
  15. var activityInfo = ActivityGlobalDataManager.Instance.GetActivityInfoOneByType(ActivityType.TEA);
  16. return activityInfo != null && activityInfo.StartTime <= TimeHelper.ServerNow() &&
  17. activityInfo.EndTime > TimeHelper.ServerNow();
  18. }
  19. public bool CheckOpenOne(int id)
  20. {
  21. var activityInfo = ActivityGlobalDataManager.Instance.GetActivityInfoOneByType(id);
  22. return activityInfo != null && activityInfo.StartTime <= TimeHelper.ServerNow() &&
  23. activityInfo.EndTime > TimeHelper.ServerNow();
  24. }
  25. public long GetEndTime(int id)
  26. {
  27. var activityInfo = ActivityGlobalDataManager.Instance.GetActivityInfoOneByType(id);
  28. return activityInfo.EndTime;
  29. }
  30. public bool GetRewardRed()
  31. {
  32. if (!ActivityTeaDataManager.Instance.CheckOpenOne(ActivityType.NewYearVisit))
  33. {
  34. return false;
  35. }
  36. RoleLimitData limitData = RoleLimitDataManager.GetLimitData(ActivityVisitCfgArray.Instance.dataArray[0].limitId);
  37. int time = limitData.TotalPlayMax - limitData.PlayTimes;
  38. foreach (NpcVisitProto t in NpcInfoList)
  39. {
  40. if (t.RewrdStatus == 1 || (t.UnlockStatus == 1 && time>0 ))
  41. {
  42. return true;
  43. }
  44. }
  45. return false;
  46. }
  47. //获取华容道可用次数
  48. public bool CheckHRDRed()
  49. {
  50. RoleLimitData limitData;
  51. limitData = RoleLimitDataManager.GetLimitData(300);
  52. int times = limitData.TotalPlayMax - limitData.PlayTimes;
  53. if(times > 0 && ActivityTeaDataManager.Instance.CheckOpenOne(ActivityType.AfternoonLeisure))
  54. {
  55. return true;
  56. }
  57. else
  58. {
  59. return false;
  60. }
  61. }
  62. }
  63. }