using UnityEngine; using UnityEngine.Events; using System.Collections; using System.Collections.Generic; using System.Xml; using Sfs2X.Entities.Data; public class UAVManager { public UnityEvent EquipedUAVChanged; private Dictionary dataDict; private Dictionary dataEquipDict; private List dataList; private List inventoryList; private Dictionary inventoryDict; public UAVManager() { EquipedUAVChanged = new UnityEvent (); dataDict = new Dictionary(); dataEquipDict = new Dictionary (); dataList = new List(); InitByXML("XML/Config/All/uav_config"); inventoryList = new List (); inventoryDict = new Dictionary (); } 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 GetInventoryList() { return inventoryList; } public static ISFSObject GetMyUAVSFSData() { return GetUAVSFSData (UAVManager.GetInstance().GetEquipedItem()); } public static ISFSObject GetUAVSFSData(UAVItem item) { ISFSObject data = new SFSObject (); if(item != null) { data.PutInt ("t", item.GetData ().id); data.PutInt ("l", item.GetEquipment().GetLevel ()); } return data; } public static UAVItem ParseUAVItem(ISFSObject data) { if(data != null && data.ContainsKey("t")) { int itemId = data.GetInt ("t"); int level = data.GetInt ("l"); UAVData uavData = UAVManager.GetInstance ().GetData (itemId); Equipment equipment = new Equipment (0, EquipManager.GetInstance ().GetData (uavData.equip)); equipment.SetLevel (level); UAVItem item = new UAVItem (uavData, equipment); return item; } return null; } }