ActivityTeaDataManager.cs 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. using ET;
  2. using GFGGame;
  3. using System.Collections;
  4. using System.Collections.Generic;
  5. using cfg.GfgCfg;
  6. using UnityEngine;
  7. namespace Assets.Game.HotUpdate.Data
  8. {
  9. public class ActivityTeaDataManager : SingletonBase<ActivityTeaDataManager>
  10. {
  11. public List<ItemSyntheticProto> ItemSynthetics = new List<ItemSyntheticProto>();
  12. /**********************************************************新春活动*************************************************/
  13. public List<NpcVisitProto> NpcInfoList = new List<NpcVisitProto>();
  14. public bool GetRewardRed()
  15. {
  16. if (ActivityDataManager.Instance.GetCurOpenActiveByType(ActivityType.NewYearVisit) == 0)
  17. {
  18. return false;
  19. }
  20. RoleLimitData limitData = RoleLimitDataManager.GetLimitData( CommonDataManager.Tables.TblActivityVisitCfg.DataList[0].LimitId);
  21. int time = limitData.TotalPlayMax - limitData.PlayTimes;
  22. foreach (NpcVisitProto t in NpcInfoList)
  23. {
  24. if (t.RewrdStatus == 1 || (t.UnlockStatus == 1 && time>0 ))
  25. {
  26. return true;
  27. }
  28. }
  29. return false;
  30. }
  31. //获取华容道可用次数
  32. public bool CheckHRDRed()
  33. {
  34. if (ActivityDataManager.Instance.GetCurOpenActiveByType(ActivityType.AfternoonLeisure) == 0)
  35. {
  36. return false;
  37. }
  38. RoleLimitData limitData;
  39. limitData = RoleLimitDataManager.GetLimitData(300);
  40. int times = limitData.TotalPlayMax - limitData.PlayTimes;
  41. if(times > 0)
  42. {
  43. //当有关卡没通过时
  44. for (int i = 0; i < MiniGameDateManager.Instance.gameinfoList.Count; i++)
  45. {
  46. if (MiniGameDateManager.Instance.gameinfoList[i].GameType == 3)
  47. {
  48. if (!MiniGameDateManager.Instance.gameinfoList[i].IsCleared)
  49. {
  50. return true;
  51. }
  52. }
  53. }
  54. return false;
  55. }
  56. else
  57. {
  58. return false;
  59. }
  60. }
  61. //合成红点
  62. public bool GetActivitySyntheticRed()
  63. {
  64. if (ActivityDataManager.Instance.GetCurOpenActiveByType(ActivityType.ItemSynthetic) == 0)
  65. {
  66. return false;
  67. }
  68. var activityInfo = ActivityGlobalDataManager.Instance.GetActivityInfoOneByType(ActivityType.ItemSynthetic);
  69. ActivityOpenCfg activityOpenCfg = CommonDataManager.Tables.TblActivityOpenCfg.GetOrDefault(activityInfo.ActivityId);
  70. var suitCfg = CommonDataManager.Tables.TblSuitCfg.GetOrDefault(activityOpenCfg.Params1[0]);
  71. for (int i = 0; i < suitCfg.Parts.Count; i++)
  72. {
  73. ItemCfg itemSyntheticCfg = CommonDataManager.Tables.TblItemCfg.GetOrDefault(suitCfg.Parts[i]);
  74. var materiarsArr = itemSyntheticCfg.SyntheticMateriars;
  75. if (ItemDataManager.GetItemNum(materiarsArr[0].ItemId) >= materiarsArr[0].Count && ItemDataManager.GetItemNum(materiarsArr[1].ItemId) >= materiarsArr[1].Count && ItemDataManager.GetItemNum(suitCfg.Parts[i]) <= 0)
  76. return true;
  77. }
  78. return false;
  79. }
  80. //新年拜访任务红点
  81. public bool CheckVisitTaskRed(int npcID = 0)
  82. {
  83. if (npcID == 0)
  84. {
  85. for (int i = 0; i < CommonDataManager.Tables.TblActivityVisitCfg.DataList.Count; i++)
  86. {
  87. if ((NpcInfoList.Count > i) && NpcInfoList[i].UnlockStatus == 2)
  88. {
  89. foreach (int j in CommonDataManager.Tables.TblActivityVisitCfg.DataList[i].TaskId)
  90. {
  91. if (TaskDataManager.Instance.GetTaskStateById(j) == 1)
  92. {
  93. return true;
  94. }
  95. }
  96. }
  97. }
  98. }
  99. else
  100. {
  101. foreach (int j in CommonDataManager.Tables.TblActivityVisitCfg.GetOrDefault(npcID).TaskId)
  102. {
  103. if (TaskDataManager.Instance.GetTaskStateById(j) == 1)
  104. {
  105. return true;
  106. }
  107. }
  108. }
  109. return false;
  110. }
  111. }
  112. }