TravelDataManager.cs 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. using System;
  2. using System.Collections.Generic;
  3. using FairyGUI;
  4. using UnityEngine;
  5. namespace GFGGame
  6. {
  7. public class TravelDataManager : SingletonBase<TravelDataManager>
  8. {
  9. public TravelData TravelData { get; set; }
  10. public List<int> ListTravelLocationCount = new List<int>();//下标对应TravelLoactionCfg表格id
  11. public List<int> ListTravelAreaRewardState = new List<int>();//下标对应TravelGuide表格id
  12. public void Clear()
  13. {
  14. TravelData = null;
  15. ListTravelLocationCount.Clear();
  16. ListTravelAreaRewardState.Clear();
  17. }
  18. public int GetTravelCountByLocationId(int locationId)
  19. {
  20. if (ListTravelLocationCount.Count == 0) return 0;
  21. TravelLoactionCfg locationCfg = TravelLoactionCfgArray.Instance.GetCfg(locationId);
  22. int index = Array.IndexOf(TravelLoactionCfgArray.Instance.dataArray, locationCfg);
  23. return ListTravelLocationCount[index];
  24. }
  25. public int GetGuideRewardStateByAreaId(int areaId)
  26. {
  27. if (ListTravelAreaRewardState.Count == 0) return ConstBonusStatus.CAN_NOT_GET;
  28. TravelGuideCfg travelGuideCfg = TravelGuideCfgArray.Instance.GetCfg(areaId);
  29. int index = Array.IndexOf(TravelGuideCfgArray.Instance.dataArray, travelGuideCfg);
  30. return TravelDataManager.Instance.ListTravelAreaRewardState[index];
  31. }
  32. public void GetTotalTravelProgress(out int count, out int totalCount)
  33. {
  34. totalCount = 1;
  35. count = 0;
  36. if (ListTravelLocationCount == null) return;
  37. for (int i = 0; i < ListTravelLocationCount.Count; i++)
  38. {
  39. if (ListTravelLocationCount[i] > 0)
  40. {
  41. count++;
  42. }
  43. }
  44. }
  45. }
  46. }