|
@@ -7,12 +7,16 @@ namespace GFGGame
|
|
|
public class DressUpMenuSuitDataManager
|
|
|
{
|
|
|
private static List<int> _suitIDList = new List<int>();
|
|
|
- private static List<int> _actionIDList = new List<int>();//拥有的特殊动作列表列表
|
|
|
- private static List<int> _travelSuitIDList = new List<int>();//拥有的游历套装列表
|
|
|
+ private static List<int> _actionIDList;//拥有的特殊动作列表列表
|
|
|
+ private static List<int> _travelSuitIDList;//拥有的游历套装列表
|
|
|
public static List<int> TravelSuitIDList
|
|
|
{
|
|
|
get
|
|
|
{
|
|
|
+ if(_travelSuitIDList == null)
|
|
|
+ {
|
|
|
+ InitTravelSuitIDList();
|
|
|
+ }
|
|
|
return _travelSuitIDList;
|
|
|
}
|
|
|
}
|
|
@@ -26,9 +30,9 @@ namespace GFGGame
|
|
|
public static void InitData()
|
|
|
{
|
|
|
_suitIDList.Clear();
|
|
|
- _travelSuitIDList.Clear();
|
|
|
+ _travelSuitIDList = null;
|
|
|
_progressBySuitIdDic.Clear();
|
|
|
- _actionIDList.Clear();
|
|
|
+ _actionIDList = null;
|
|
|
}
|
|
|
|
|
|
public static void SetSuitInfo(List<SuitInfoProto> suitInfoList)
|
|
@@ -69,15 +73,8 @@ namespace GFGGame
|
|
|
{
|
|
|
_suitIDList.Add(value);
|
|
|
|
|
|
- TravelSuitCfg travelSuitCfg = TravelSuitCfgArray.Instance.GetCfgBysuitId(value);
|
|
|
- if (travelSuitCfg != null)
|
|
|
- {
|
|
|
- _travelSuitIDList.Add(travelSuitCfg.id);
|
|
|
- }
|
|
|
- if (SuitCfgArray.Instance.CheckSuitHasAction(value))
|
|
|
- {
|
|
|
- _actionIDList.Add(value);
|
|
|
- }
|
|
|
+ TryAddTravelSuitID(value);
|
|
|
+ TryAddActionID(value);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -87,11 +84,15 @@ namespace GFGGame
|
|
|
{
|
|
|
_suitIDList.Remove(value);
|
|
|
TravelSuitCfg travelSuitCfg = TravelSuitCfgArray.Instance.GetCfgBysuitId(value);
|
|
|
- if (travelSuitCfg != null && _travelSuitIDList.Contains(travelSuitCfg.id))
|
|
|
+ if (travelSuitCfg != null
|
|
|
+ && _travelSuitIDList != null
|
|
|
+ && _travelSuitIDList.Contains(travelSuitCfg.id))
|
|
|
{
|
|
|
_travelSuitIDList.Remove(travelSuitCfg.id);
|
|
|
}
|
|
|
- if (SuitCfgArray.Instance.CheckSuitHasAction(value) && _actionIDList.Contains(value))
|
|
|
+ if (_actionIDList != null
|
|
|
+ && SuitCfgArray.Instance.CheckSuitHasAction(value)
|
|
|
+ && _actionIDList.Contains(value))
|
|
|
{
|
|
|
_actionIDList.Remove(travelSuitCfg.id);
|
|
|
}
|
|
@@ -185,6 +186,10 @@ namespace GFGGame
|
|
|
}
|
|
|
public static List<int> GetActionIDList()
|
|
|
{
|
|
|
+ if(_actionIDList == null)
|
|
|
+ {
|
|
|
+ InitActionIDList();
|
|
|
+ }
|
|
|
return _actionIDList;
|
|
|
}
|
|
|
|
|
@@ -239,5 +244,49 @@ namespace GFGGame
|
|
|
var suitCfg = SuitCfgArray.Instance.GetCfg(suitId);
|
|
|
return suitCfg != null && ResPathUtil.CheckDressUpAnimationResExist(suitCfg.aniRes);
|
|
|
}
|
|
|
+
|
|
|
+ private static void InitActionIDList()
|
|
|
+ {
|
|
|
+ _actionIDList = new List<int>();
|
|
|
+ foreach (var t in _suitIDList)
|
|
|
+ {
|
|
|
+ TryAddActionID(t);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private static void TryAddActionID(int value)
|
|
|
+ {
|
|
|
+ if(_actionIDList == null)
|
|
|
+ {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (SuitCfgArray.Instance.CheckSuitHasAction(value))
|
|
|
+ {
|
|
|
+ _actionIDList.Add(value);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private static void InitTravelSuitIDList()
|
|
|
+ {
|
|
|
+ _travelSuitIDList = new List<int>();
|
|
|
+ foreach (var t in _suitIDList)
|
|
|
+ {
|
|
|
+ TryAddTravelSuitID(t);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private static void TryAddTravelSuitID(int value)
|
|
|
+ {
|
|
|
+ if(_travelSuitIDList == null)
|
|
|
+ {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ TravelSuitCfg travelSuitCfg = TravelSuitCfgArray.Instance.GetCfgBysuitId(value);
|
|
|
+ if (travelSuitCfg != null)
|
|
|
+ {
|
|
|
+ _travelSuitIDList.Add(travelSuitCfg.id);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
}
|