void saveWorld() { if (t != null && t.ThreadState == ThreadState.Running) { t.Abort(); } List <Transform> itemsInWorld = asteroidBelt.itemsInWorld; saveTransform[] it = new saveTransform[itemsInWorld.Count]; for (int i = 0; i < itemsInWorld.Count; i++) { it[i] = new saveTransform(itemsInWorld[i].position, itemsInWorld[i].eulerAngles.z, new Vector2(itemsInWorld[i].localScale.x, itemsInWorld[i].localScale.y), itemsInWorld[i].GetComponent <ressource>().item); } string path = Application.persistentDataPath + "/" + saveName + ".lol"; t = new Thread(() => { SaveData.Objekte[] sectorArr = new SaveData.Objekte[asteroidBelt.sectorsToSave.Count]; for (int i = 0; i < sectorArr.Length; i++) { sectorArr[i] = new SaveData.Objekte(asteroidBelt.sectors[asteroidBelt.sectorsToSave[i]], asteroidBelt.sectorsToSave[i]); } SaveData save = new SaveData(sectorArr, asteroidBelt.seed, it); SaveSystem.SaveWorld(save, path); Debug.Log("saved"); }); t.Start(); }
public void save() { saveTransform[] saveTransforms = new saveTransform[transforms.Count]; for (int i = 0; i < transforms.Count; i++) { saveTransforms[i] = new saveTransform(transforms[i].position, transforms[i].eulerAngles.z, new Vector2(transforms[i].localScale.x, transforms[i].localScale.y), transforms[i].GetComponent <WorldObject>().item); } SaveObjectData sOD = new SaveObjectData(saveTransforms); SaveSystem.SaveObjects(sOD, saveCom.saveName); }