void Start() { musicplay = GameObject.Find("Music").GetComponent <MusicPlayer>(); areaTitle = GameObject.Find("AreaTitle").GetComponent <AreaTitle>(); InvokeRepeating("ShootLasers", shootRepeatRate, shootRepeatRate); musicplay.Play(1, 1, true); //Also start spawning enemies from mouth and play music and such }
public void SaveFile() { if (FileName) { if (!File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "/" + FileName.text + ".AsteriaMonsters")) { // Create the file. using (FileStream fs = File.Create(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "/" + FileName.text + ".AsteriaMonsters")) { byte[] info = new UTF8Encoding(true).GetBytes(""); // Add some information to the file. fs.Write(info, 0, info.Length); } Debug.Log(FileName.text + ".AsteriaMonsters" + " was created on the desktop."); } string parsedSave = ""; //Save tile data. for (int i = 0; i < savables.Count; i++) { Monster monsterNode = savables[i].GetComponent <Monster>(); AreaTitle areaTitleNode = savables[i].GetComponent <AreaTitle>(); ID _id = savables[i].GetComponent <ID>(); if (monsterNode) { parsedSave += "MonsterÆ" + _id.iD + "Æ" + monsterNode.transform.position.x + "Æ" + monsterNode.transform.position.y + "Æ" + monsterNode.transform.position.z + "Æ" + monsterNode.input_Name.text + "Æ" + monsterNode.input_LevelMin.text + "Æ" + monsterNode.input_LevelMax.text + "Æ" + monsterNode.input_Difficulty.text + "Æ" + monsterNode.input_Tankiness.text + "Æ" + monsterNode.input_Flavor.text + "Æ" + monsterNode.input_Icon.text + Environment.NewLine; } else if (areaTitleNode) { parsedSave += "TitleÆ" + _id.iD + "Æ" + areaTitleNode.transform.position.x + "Æ" + areaTitleNode.transform.position.y + "Æ" + areaTitleNode.transform.position.z + "Æ" + areaTitleNode.input_Name.text + Environment.NewLine; } else { Debug.LogError("Problem saving " + savables[i].gameObject.name); } } Debug.Log(FileName.text + ".AsteriaMonsters" + " saved to the Desktop."); // Open the stream and read it back. File.WriteAllText(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "/" + FileName.text + ".AsteriaMonsters", parsedSave); } }
public void ReadFile() { for (int i = 0; i < instance.savables.Count; i++) { Destroy(instance.savables[i]); } instance.savables = new List <GameObject>(); if (FileName) { if (!File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "/" + FileName.text + ".AsteriaMonsters")) { // Create the file. using (FileStream fs = File.Create(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "/" + FileName.text + ".AsteriaMonsters")) { Byte[] info = new UTF8Encoding(true).GetBytes(""); // Add some information to the file. fs.Write(info, 0, info.Length); } } // Open the stream and read it back. using (StreamReader sr = File.OpenText(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "/" + FileName.text + ".AsteriaMonsters")) { string s = ""; while ((s = sr.ReadLine()) != null) { string[] temp = s.Split('Æ'); Vector3 pos = Vector3.zero; float x = 0f; float y = 0f; float z = 0f; bool parseX = float.TryParse(temp[2], out x); bool parseY = float.TryParse(temp[3], out y); bool parseZ = float.TryParse(temp[4], out z); if (parseX && parseY && parseZ) { pos = new Vector3(x, y, z); } else { Debug.Log(temp[1] + ", " + temp[2] + ", " + temp[3]); Debug.LogError("Failed to parse transform position of " + temp[0]); continue; } if (temp[0] == "Monster") { Monster d = Instantiate(monster, pos, Quaternion.identity).GetComponent <Monster>(); d.input_Name.text = temp[5]; d.input_LevelMin.text = temp[6]; d.input_LevelMax.text = temp[7]; d.input_Difficulty.text = temp[8]; d.input_Tankiness.text = temp[9]; d.input_Flavor.text = temp[10]; d.input_Icon.text = temp[11]; d.downloader.Download(); ulong parsedID = 0; bool parsed = ulong.TryParse(temp[1], out parsedID); if (parsed) { d.gameObject.GetComponent <ID>().iD = parsedID; } else { Debug.LogError("Failed to parse ID on " + d.gameObject.name); } } else if (temp[0] == "Title") { AreaTitle d = Instantiate(title, pos, Quaternion.identity).GetComponent <AreaTitle>(); d.input_Name.text = temp[5]; ulong parsedID = 0; bool parsed = ulong.TryParse(temp[1], out parsedID); if (parsed) { d.gameObject.GetComponent <ID>().iD = parsedID; } else { Debug.LogError("Failed to parse ID on " + d.gameObject.name); } } } } Debug.Log(FileName.text + ".AsteriaMonsters" + " was loaded."); } }