ActivityTeaDataManager.cs 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  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 GetRewardRed()
  14. {
  15. if (ActivityDataManager.Instance.GetCurOpenActiveByType(ActivityType.NewYearVisit) == 0)
  16. {
  17. return false;
  18. }
  19. RoleLimitData limitData = RoleLimitDataManager.GetLimitData(ActivityVisitCfgArray.Instance.dataArray[0].limitId);
  20. int time = limitData.TotalPlayMax - limitData.PlayTimes;
  21. foreach (NpcVisitProto t in NpcInfoList)
  22. {
  23. if (t.RewrdStatus == 1 || (t.UnlockStatus == 1 && time>0 ))
  24. {
  25. return true;
  26. }
  27. }
  28. return false;
  29. }
  30. //获取华容道可用次数
  31. public bool CheckHRDRed()
  32. {
  33. if (ActivityDataManager.Instance.GetCurOpenActiveByType(ActivityType.AfternoonLeisure) == 0)
  34. {
  35. return false;
  36. }
  37. RoleLimitData limitData;
  38. limitData = RoleLimitDataManager.GetLimitData(300);
  39. int times = limitData.TotalPlayMax - limitData.PlayTimes;
  40. if(times > 0)
  41. {
  42. return true;
  43. }
  44. else
  45. {
  46. return false;
  47. }
  48. }
  49. //合成红点
  50. public bool GetActivitySyntheticRed()
  51. {
  52. if (ActivityDataManager.Instance.GetCurOpenActiveByType(ActivityType.ItemSynthetic) == 0)
  53. {
  54. return false;
  55. }
  56. var activityInfo = ActivityGlobalDataManager.Instance.GetActivityInfoOneByType(ActivityType.ItemSynthetic);
  57. ActivityOpenCfg activityOpenCfg = ActivityOpenCfgArray.Instance.GetCfg(activityInfo.ActivityId);
  58. var suitCfg = SuitCfgArray.Instance.GetCfg(activityOpenCfg.paramsArr[0]);
  59. for (int i = 0; i < suitCfg.partsArr.Length; i++)
  60. {
  61. ItemCfg itemSyntheticCfg = ItemCfgArray.Instance.GetCfg(suitCfg.partsArr[i]);
  62. var materiarsArr = itemSyntheticCfg.syntheticMateriarsArr;
  63. if (ItemDataManager.GetItemNum(materiarsArr[0][0]) >= materiarsArr[0][1] && ItemDataManager.GetItemNum(materiarsArr[1][0]) >= materiarsArr[1][1])
  64. return true;
  65. }
  66. return false;
  67. }
  68. //新年拜访任务红点
  69. public bool CheckVisitTaskRed(int npcID = 0)
  70. {
  71. if (npcID == 0)
  72. {
  73. for (int i = 0; i < ActivityVisitCfgArray.Instance.dataArray.Length - 1; i++)
  74. {
  75. foreach (int j in ActivityVisitCfgArray.Instance.dataArray[i].taskIdArr)
  76. {
  77. if (TaskDataManager.Instance.GetTaskStateById(j) == 1)
  78. {
  79. return true;
  80. }
  81. }
  82. }
  83. }
  84. else
  85. {
  86. foreach (int j in ActivityVisitCfgArray.Instance.GetCfg(npcID).taskIdArr)
  87. {
  88. if (TaskDataManager.Instance.GetTaskStateById(j) == 1)
  89. {
  90. return true;
  91. }
  92. }
  93. }
  94. return false;
  95. }
  96. }
  97. }