ActivityTeaDataManager.cs 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  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(int id =5004)
  31. {
  32. ActivityOpenCfg _activityCfg = ActivityOpenCfgArray.Instance.GetCfg(id);
  33. long endTime = TimeUtil.DateTimeToTimestamp(_activityCfg.endTime);
  34. long startime = TimeUtil.DateTimeToTimestamp(_activityCfg.openTime);
  35. long curTime = TimeHelper.ServerNow();
  36. if (endTime < curTime || startime > curTime)
  37. {
  38. return false;
  39. }
  40. RoleLimitData limitData = RoleLimitDataManager.GetLimitData(ActivityVisitCfgArray.Instance.dataArray[0].limitId);
  41. int time = limitData.TotalPlayMax - limitData.PlayTimes;
  42. foreach (NpcVisitProto t in NpcInfoList)
  43. {
  44. if (t.RewrdStatus == 1 || (t.UnlockStatus == 1 && time>0 ))
  45. {
  46. return true;
  47. }
  48. }
  49. return false;
  50. }
  51. //获取华容道可用次数
  52. public bool CheckHRDRed(int id = 5003)
  53. {
  54. ActivityOpenCfg _activityCfg = ActivityOpenCfgArray.Instance.GetCfg(id);
  55. long endTime = TimeUtil.DateTimeToTimestamp(_activityCfg.endTime);
  56. long curTime = TimeHelper.ServerNow();
  57. if (endTime < curTime)
  58. {
  59. return false;
  60. }
  61. RoleLimitData limitData;
  62. limitData = RoleLimitDataManager.GetLimitData(300);
  63. int times = limitData.TotalPlayMax - limitData.PlayTimes;
  64. if(times > 0 && ActivityTeaDataManager.Instance.CheckOpenOne(ActivityType.AfternoonLeisure))
  65. {
  66. return true;
  67. }
  68. else
  69. {
  70. return false;
  71. }
  72. }
  73. //合成红点
  74. public bool GetActivitySyntheticRed()
  75. {
  76. if (!ActivityTeaDataManager.Instance.CheckOpenOne(ActivityType.ItemSynthetic))
  77. {
  78. return false;
  79. }
  80. var activityInfo = ActivityGlobalDataManager.Instance.GetActivityInfoOneByType(ActivityType.ItemSynthetic);
  81. ActivityOpenCfg activityOpenCfg = ActivityOpenCfgArray.Instance.GetCfg(activityInfo.ActivityId);
  82. var suitCfg = SuitCfgArray.Instance.GetCfg(activityOpenCfg.paramsArr[0]);
  83. for (int i = 0; i < suitCfg.partsArr.Length; i++)
  84. {
  85. ItemCfg itemSyntheticCfg = ItemCfgArray.Instance.GetCfg(suitCfg.partsArr[i]);
  86. var materiarsArr = itemSyntheticCfg.syntheticMateriarsArr;
  87. if (ItemDataManager.GetItemNum(materiarsArr[0][0]) >= materiarsArr[0][1] && ItemDataManager.GetItemNum(materiarsArr[1][0]) >= materiarsArr[1][1])
  88. return true;
  89. }
  90. return false;
  91. }
  92. }
  93. }