using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.Xml;
public class BeiBaoXML : MonoBehaviour {
[SerializeField]
UIGrid grid;
[SerializeField]
UISprite sp;
[SerializeField]
TextAsset asset;
public GameObject PropItemObj, PropItemClone;
private int limit=40;
private List<wuqi> wuqiList;
private void Awake()
{
wuqiList = new List<wuqi>();
PropItemObj = Resources.Load<GameObject>("PropItem");
}
// Use this for initialization
void Start() {
Analysis();//解析XML
Initialize();//初始化
}
private void Analysis() {
XmlDocument doc = new XmlDocument();
doc.LoadXml(asset.text);
XmlNodeList nodeList = doc.SelectSingleNode("root").ChildNodes;
for (int i = 0; i < nodeList.Count; i++) {
wuqiList.Add(new wuqi() {
id = ((XmlElement)nodeList[i]).GetAttribute("id"),
name = ((XmlElement)nodeList[i]).GetAttribute("name"),
icon = ((XmlElement)nodeList[i]).GetAttribute("icon"),
describe = ((XmlElement)nodeList[i]).GetAttribute("describe")
});
}
}
private void Initialize() {
for (int i = 0; i < limit; i++) {
PropItemClone = NGUITools.AddChild(grid.gameObject, PropItemObj);
if (i < wuqiList.Count) {
PropItemClone.transform.Find("Icon").GetComponent<UISprite>().spriteName = wuqiList[i].icon;
UIEventListener.Get(PropItemClone.transform.Find("Icon").gameObject).onClick = OnWuQiClick;
PropItemClone.transform.Find("Icon").gameObject.name = i.ToString();
}
}
}
private void OnWuQiClick(GameObject obj) {
sp.gameObject.SetActive(true);
sp.gameObject.transform.Find("Sprite").GetComponent<UISprite>().spriteName = obj.GetComponent<UISprite>().spriteName;
sp.gameObject.transform.Find("Label1").GetComponent<UILabel>().text = wuqiList[int.Parse(obj.name)].name;
sp.gameObject.transform.Find("Label2").GetComponent<UILabel>().text = wuqiList[int.Parse(obj.name)].describe;
}
// Update is called once per frame
void Update () {
}
}
public class wuqi {
public string id, name, icon, describe;
public override string ToString()
{
return id + " " + name + " " + icon + " " + describe;
}
}
using System.Collections.Generic;
using UnityEngine;
using System.Xml;
public class BeiBaoXML : MonoBehaviour {
[SerializeField]
UIGrid grid;
[SerializeField]
UISprite sp;
[SerializeField]
TextAsset asset;
public GameObject PropItemObj, PropItemClone;
private int limit=40;
private List<wuqi> wuqiList;
private void Awake()
{
wuqiList = new List<wuqi>();
PropItemObj = Resources.Load<GameObject>("PropItem");
}
// Use this for initialization
void Start() {
Analysis();//解析XML
Initialize();//初始化
}
private void Analysis() {
XmlDocument doc = new XmlDocument();
doc.LoadXml(asset.text);
XmlNodeList nodeList = doc.SelectSingleNode("root").ChildNodes;
for (int i = 0; i < nodeList.Count; i++) {
wuqiList.Add(new wuqi() {
id = ((XmlElement)nodeList[i]).GetAttribute("id"),
name = ((XmlElement)nodeList[i]).GetAttribute("name"),
icon = ((XmlElement)nodeList[i]).GetAttribute("icon"),
describe = ((XmlElement)nodeList[i]).GetAttribute("describe")
});
}
}
private void Initialize() {
for (int i = 0; i < limit; i++) {
PropItemClone = NGUITools.AddChild(grid.gameObject, PropItemObj);
if (i < wuqiList.Count) {
PropItemClone.transform.Find("Icon").GetComponent<UISprite>().spriteName = wuqiList[i].icon;
UIEventListener.Get(PropItemClone.transform.Find("Icon").gameObject).onClick = OnWuQiClick;
PropItemClone.transform.Find("Icon").gameObject.name = i.ToString();
}
}
}
private void OnWuQiClick(GameObject obj) {
sp.gameObject.SetActive(true);
sp.gameObject.transform.Find("Sprite").GetComponent<UISprite>().spriteName = obj.GetComponent<UISprite>().spriteName;
sp.gameObject.transform.Find("Label1").GetComponent<UILabel>().text = wuqiList[int.Parse(obj.name)].name;
sp.gameObject.transform.Find("Label2").GetComponent<UILabel>().text = wuqiList[int.Parse(obj.name)].describe;
}
// Update is called once per frame
void Update () {
}
}
public class wuqi {
public string id, name, icon, describe;
public override string ToString()
{
return id + " " + name + " " + icon + " " + describe;
}
}