ActivityGetYuanXiaoDataManager.cs 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  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 = ItemDataManager.GetItemNum(PickUpGameArray.Instance.dataArray[curLevel].comsumePassArr[0][0]);
  24. bool canPlay = (haveNum >= PickUpGameArray.Instance.dataArray[curLevel].comsumePassArr[0][1]);
  25. return canPlay;
  26. }
  27. public int GetCurLevel()
  28. {
  29. int i;
  30. for (i = 0; i < gameinfoList.Count; i++)
  31. {
  32. if (!gameinfoList[i].IsCleared)
  33. {
  34. return i;
  35. }
  36. }
  37. return i;
  38. }
  39. public bool ShowTaskRedDots(int taskFuncType)
  40. {
  41. var taskInfos = TaskDataManager.Instance.GetTaskInfos(taskFuncType);
  42. if (taskInfos.Select(taskInfo => taskInfo.Value).Any(info => info.State != ConstBonusStatus.GOT))
  43. {
  44. return true;
  45. }
  46. return false;
  47. }
  48. public List<GameInfoProto> gameinfoList = new List<GameInfoProto>();
  49. }
  50. }