using UnityEngine; using System.Collections; using System.Collections.Generic; using System.Xml; using LitJson; public class SkinManager { private Dictionary dataDict; private Dictionary> dataListByCraftId; public SkinData defaultData; private bool isPriceGot; private int startEquipedId; private int currentEquipedId; public SkinManager() { dataDict = new Dictionary(); dataListByCraftId = new Dictionary>(); InitByXML("XML/Config/All/skin_config"); } public void InitByXML(string path) { TextAsset textAsset = (TextAsset)Resources.Load(path); XmlDocument xml = new XmlDocument(); xml.LoadXml(textAsset.text); XmlNode mapNode = xml.SelectSingleNode("data"); XmlNodeList nodeList = mapNode.SelectNodes("item"); for(int i=0; i()); } dataListByCraftId[craftId].Add(data); } private static SkinManager instance; public static SkinManager GetInstance() { if(instance == null) { instance = new SkinManager(); } return instance; } public SkinData GetData(int id) { if(dataDict.ContainsKey(id)) return dataDict[id]; return null; } public int GetSkinId(int craftId) { if(dataListByCraftId.ContainsKey(craftId)) { List list = dataListByCraftId[craftId]; for(int i=0; i 0) { return data.id; } } } return 0; } public Texture GetSkinTexture(int craftId, int id) { SkinData data = GetData(id); if(data != null) { return Resources.Load("Textures/CraftSkin/"+data.model+"/"+craftId); } return Resources.Load("Textures/CraftSkin/"+craftId); } public void InitDataState(JsonData json) { for(int i=0; i 0) Equip(itemId, equiped, equiped); Bought(itemId); } } public void RequestDataList(CallBackUtil.SimpleCallBack callBack) { if(!isPriceGot) Session.GetInstance().GetNetworkManager().ShopList(BuyUtil.ItemType.Skin, callBack); else callBack(); } public List GetDataList(int craftId) { if(dataListByCraftId.ContainsKey(craftId)) return dataListByCraftId[craftId]; return new List(); } public void SetDataList(JsonData json) { isPriceGot = true; for(int i=0; i dataList = dataListByCraftId[craftId]; for(int i=0; i