public void Createyunyd () {GameToolsManager.Instance.effectType = EffectType. Yunyd; Createyunorwu ("Effect/yunwu-yd", Vector3.zero); The public void Createyunzy () {GameToolsManager.Instance.effectType = EffectType. Yunzy; Createyunorwu ("Effect/yunwu-zy", Vector3.zero); The public void Createwu () {GameToolsManager.Instance.effectType = EffectType. Wu; Createyunorwu ("Effect/wu", Vector3.zero); } Public Gameobject Createyunorwu (string Path,vector3 VEC) {gameobject parent; Parent = Gameobject.find ("Scene/effect"); Effect = gameobject.instantiate (resources.load (path)) as Gameobject; Effect. SetActive (TRUE); Effect.transform.SetParent (Parent.transform); Effect.transform.localPosition = VEC; Effect.name = Effect.name.Replace ("(Clone)", String. Empty); return effect; }///<summary>///Save cloud and fog data///</summary> public void SaveyunorWu () {Transform child; Gameobject parent; Parent = Gameobject.find ("Scene/effect"); if (Isexisttxt ()) {cleareffectdata (); } for (int i=0; i< parent.transform.childCount; i++) {child = Parent.transform.GetChild (i); Effectdata effectdata = new Effectdata (); Effectdata.effectname = Child.name; Effectdata.vectorx = child.localposition.x; Effectdata.vectory = CHILD.LOCALPOSITION.Y; Effectdata.vectorz = child.localposition.z; CreateTextFile ("Effectdata", System.Convert.ToString (Effectdata.effectname)); CreateTextFile ("Effectdata", System.Convert.ToString (Effectdata.vectorx)); CreateTextFile ("Effectdata", System.Convert.ToString (effectdata.vectory)); CreateTextFile ("Effectdata", System.Convert.ToString (Effectdata.vectorz)); } readtextdata ("Effectdata"); }///<summary>//clear the data in the text </summary> public void Cleareffectdata () {cleardata ("Effectdata"); }///<summary>//TXT file exists////</summary>//<returns></returns> public bool is Existtxt () {String path = Application.datapath + "/effect/effectdata.txt"; if (! File.exists (path)) {return false; } return true; }///<summary>//Create a text file and write the text data///</summary>//<param name= "FileName" ></param> <param name= "Strfiledata" ></param> public void CreateTextFile (string fileName, String strfiledata) {string Strwritefiledata; Strwritefiledata = Strfiledata; String path = Application.datapath + "/effect/" + fileName + ". txt"; if (! File.exists (Path)) {Startcoroutine (path)) (Creattxt); } StreamWriter writer; writer = File.appendtext (path); Writer. Write (StrwritefiledatA + "_"); Writer. Close (); } IEnumerator Creattxt (string path) {FileStream fs = new FileStream (path, FileMode.Create, FileAccess.Write) ; Yield return FS; Fs. Close (); }///<summary>///Read text data///</summary> public string Readtextdata (string fileName) { string data; String path = Application.datapath + "/effect/" + fileName + ". txt"; if (! File.exists (path)) {return null; } StreamReader Reader; Reader = File.OpenText (path); data = reader. ReadToEnd (); if (data! = null) {reader. Close (); Debug.Log (data); return data; } reader. Close (); return data; }///<summary>//Empty the saved data file///</summary> public void ClearData (string fileName) {s Tring Path = Application.datapath + "/effect/" + fileName + ". txt"; if (file.exists (path)) { FileStream fs = new FileStream (path, FileMode.Open, FileAccess.Write); Fs. SetLength (0); Fs. Close (); } return; }///<summary>//delete the already loaded cloud and fog////</summary> public void Deleteyunorwu () {Gameobject Parent Parent = Gameobject.find ("Scene/effect"); for (int i = 0; i < Parent.transform.childCount; i++) {Destroy (Parent.transform.GetChild (i). Gameobje CT); }}///<summary>//special effects data///</summary> public struct Effectdata {public string EF Fectname; public double Vectorx; public double vectory; public double Vectorz; } dictionary<int, list<float>> effectdata; Dictionary<int, string> effectnamedic; <summary>///initialization effect data///</summary> public void Initeffectdata () {Vector3 VEC; String name; Effectdata = GetEffectData (); Debug.loG ("Come in"); if (Effectdata = = null) {return; } for (int i = 0; i < Effectnamedic.count; i++) {Debug.Log ("come in?") "); name = Effectnamedic[i]; List <float> vecdata = effectdata[i]; Debug.Log (vecdata[1]); VEC = new Vector3 (vecdata[0],vecdata[1],vecdata[2]); Startcoroutine (Createsaveeffect (name, VEC)); }}///<summary>//create effects//</summary>//<returns></returns> IEnumerator Cr Eatesaveeffect (String Name,vector3 vec) {string fullPath = "effect/" + name; Yield return Createyunorwu (FullPath, VEC); }///<summary>///for special data///</summary> public dictionary<int, list<float>> GETEFFEC Tdata () {bool changelist = false; Effectdata = new Dictionary<int, list<float>> (); Effectnamedic = new Dictionary<int, string> (); STring effectname = null; list<float> vectordata = new list<float> (); String data = Readtextdata ("Effectdata"); int count = 0; if (data = = NULL) {return null; } Char delimiter = ' _ '; string[] StringData = data. Split (delimiter); for (int i = 0; i < stringdata.length-1; i++) {if (changelist) {Vectord ATA = new list<float> (); Changelist = false; } if (i% 4 = = 0) {effectname = Stringdata[i]; } if (i% 4 = = 1) {Double Vectorx = System.Convert.ToDouble (Stringdata[i]); Vectordata.add ((float) vectorx); } if (i% 4 = = 2) {Double vectory = System.Convert.ToDouble (Stringdata[i]); Vectordata.add ((float) vectory); } if (i% 4 = = 3) { Double Vectorz = System.Convert.ToDouble (Stringdata[i]); Vectordata.add ((float) vectorz); Effectdata.add (count, Vectordata); Effectnamedic.add (count, Effectname); Vectordata = new list<float> (); count++; Debug.Log (count+ "count"); }}//debug.log (Effectdata); Debug.Log (effectdata[2][1]+ "Effectdata"); return effectdata; } raycasthit2d hit = new Raycasthit2d (); Particlesystem par; Vector3 Mousepos; private void Update () {if (Input.getmousebuttondown (0)) {GameDataManager.Instance.IsMoveCame RA = false; Mousepos = Camera.main.ScreenToWorldPoint (input.mouseposition); Vector2 mousepos2d = new Vector2 (mousepos.x, MOUSEPOS.Y); Hit = Physics2d.raycast (mousepos2d, Vector2.zero); } if (Input.getmousebutton (0) &&hit.transform!=null&& (hit.transform.namE.equals ("WU") | | Hit.transform.name.Equals ("Yunwu-yd") | | Hit.transform.name.Equals ("Yunwu-zy"))) {Mousepos = Camera.main.ScreenToWorldPoint (input.mouseposition) ; Vector2 mousepos2d = new Vector2 (mousepos.x, MOUSEPOS.Y); if (hit.transform! = null && hit.transform.name.Equals ("Yunwu-yd") | | hit.transform.name.Equals ("Yunwu-zy") )//{//par = hit.transform.getcomponent<particlesystem> (); Par. Pause (); } if (Hit.transform.name.Equals ("WU")) {hit.transform.position = mousepos2d; }} if (Input.getmousebuttonup (0) && hit.transform! = null && (hit.transform.name.Equals ("Wu ") || Hit.transform.name.Equals ("Yunwu-yd") | | Hit.transform.name.Equals ("Yunwu-zy"))) {par = hit.transform.getcomponent<particlesystem> (); Vector3 Mousepos = Camera.main.ScreenToWorldPoint (input.mouseposition); Vector3 mousepos3d = new Vector3 (mousepos.x, mousepos.y, 0); Vector3 VEC = new Vector3 (mousepos.x, mousepos.y, 0); if (Hit.transform.name.Equals ("Yunwu-yd")) {//vector3 VEC = hit.transform.position; Par. Stop (); Destroy (Hit.transform.gameObject); Startcoroutine (Createsaveeffect ("Yunwu-yd", VEC)); } if (Hit.transform.name.Equals ("Yunwu-zy")) {//vector3 VEC = new Vector3 (mousepos.x , Mousepos.y, 0); Destroy (Hit.transform.gameObject); Startcoroutine (Createsaveeffect ("Yunwu-zy", VEC)); } Hit.transform.localScale = Vector3.one; GameDataManager.Instance.IsMoveCamera = true; } }
Create text to save data in unity