ActivityGetYuanXiaoDataManager.cs 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. using ET;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Threading.Tasks;
  6. using UnityEngine;
  7. namespace GFGGame
  8. {
  9. public class ActivityGetYuanXiaoDataManager : SingletonBase<ActivityGetYuanXiaoDataManager>
  10. {
  11. public bool CheckOpen()
  12. {
  13. var activityID = ActivityDataManager.Instance.GetCurOpenActiveByType(ActivityType.YuanXiao);
  14. return activityID > 0;
  15. }
  16. public bool HaveNewLevelCanPlay()
  17. {
  18. int curLevel = GetCurLevel();
  19. if (curLevel == gameinfoList.Count)
  20. {
  21. return false;
  22. }
  23. long haveNum =
  24. ItemDataManager.GetItemNum(CommonDataManager.Tables.TblPickUpGameCfg.DataList[curLevel].ComsumePass[0]
  25. .ItemId);
  26. bool canPlay = (haveNum >= CommonDataManager.Tables.TblPickUpGameCfg.DataList[curLevel].ComsumePass[0].Count);
  27. return canPlay;
  28. }
  29. public int GetCurLevel()
  30. {
  31. int i;
  32. for (i = 0; i < gameinfoList.Count; i++)
  33. {
  34. if (!gameinfoList[i].IsCleared)
  35. {
  36. return i;
  37. }
  38. }
  39. return i;
  40. }
  41. public bool ShowTaskRedDots(int taskFuncType)
  42. {
  43. var taskInfos = TaskDataManager.Instance.GetTaskInfos(taskFuncType);
  44. if (taskInfos.Select(taskInfo => taskInfo.Value).Any(info => info.State != ConstBonusStatus.GOT))
  45. {
  46. return true;
  47. }
  48. return false;
  49. }
  50. public List<GameInfoProto> gameinfoList = new List<GameInfoProto>();
  51. }
  52. }