存
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.Xml.Serialization;
using System.IO;
public class SaveXML : MonoBehaviour {
public class Towers{
public Towers(){
}
public string name;
public Vector3 pos;
public Towers(Vector3 mpos , string mName){
pos=mpos;
name = mName;
}
}
void Start () {
List<Towers> mTa = new List<Towers> ();
for (int i = 0; i < this.transform.childCount; i++) {
string cna = this.transform.GetChild (i).gameObject.name;
mTa.Add (new Towers (this.transform.GetChild (i).position, cna));
}
XmlSerializer xs = new XmlSerializer (typeof(List<Towers>));
try{
FileStream fs=new FileStream(Application.dataPath+"/Tower.xml",FileMode.Create);
xs.Serialize(fs,mTa);
}catch(System.Exception e){
print (e);
}
}
}
取
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.Xml.Serialization;
using System.IO;
public class LoadXML : MonoBehaviour {
private GameObject mTower;
public class Towers{
public Towers(){
}
public string name;
public Vector3 pos;
public Towers(Vector3 mpos , string mName){
pos=mpos;
name = mName;
}
}
void Start () {
mTower = Resources.Load<GameObject> ("Ta");
List<Towers> mTa = new List<Towers> ();
XmlSerializer xs = new XmlSerializer (typeof(List<Towers>));
try {
FileStream fs = new FileStream (Application.dataPath + "/Tower.xml", FileMode.Open);
mTa = (List<Towers>)xs.Deserialize (fs);
fs.Close ();
} catch (System.Exception e) {
print (e);
}
for (int i = 0; i < mTa.Count; i++) {
GameObject go = (GameObject)Instantiate (mTower);
go.transform.position = mTa [i].pos;
go.name = mTa [i].name;
go.transform.SetParent (this.transform);
}
}
}