using System; using System.Collections.Generic; using FairyGUI; using UnityEngine; namespace GFGGame { public class TravelDataManager : SingletonBase { public TravelData TravelData { get; set; } public List ListTravelLocationCount = new List();//下标对应TravelLoactionCfg表格id public List ListTravelAreaRewardState = new List();//下标对应TravelGuide表格id public void Clear() { TravelData = null; ListTravelLocationCount.Clear(); ListTravelAreaRewardState.Clear(); } public int GetTravelIndexByLocationId(int locationId) { for (int i = 0; i < TravelLoactionCfgArray.Instance.dataArray.Length; i++) { if (TravelLoactionCfgArray.Instance.dataArray[i].id == locationId) { return i; } } return -1; } public int GetTravelCountByLocationId(int locationId) { if (ListTravelLocationCount.Count == 0) return 0; int index = GetTravelIndexByLocationId(locationId); return ListTravelLocationCount[index]; } public int GetGuideIndexByAreaId(int areaId) { for (int i = 0; i < TravelGuideCfgArray.Instance.dataArray.Length; i++) { if (TravelGuideCfgArray.Instance.dataArray[i].id == areaId) { return i; } } return -1; } public int GetGuideRewardStateByAreaId(int areaId) { if (ListTravelAreaRewardState.Count == 0) return ConstBonusStatus.CAN_NOT_GET; int index = GetGuideIndexByAreaId(areaId); return TravelDataManager.Instance.ListTravelAreaRewardState[index]; } public void GetTotalTravelProgress(out int count, out int totalCount) { totalCount = 1; count = 0; if (ListTravelLocationCount == null) return; for (int i = 0; i < ListTravelLocationCount.Count; i++) { if (ListTravelLocationCount[i] > 0) { count++; } } totalCount = ListTravelLocationCount.Count; } } }