public void Save() { FileFuncs.SaveFileOpen(fname, 1, TheManager.TM.Thingies.Count); #region PACK_ELEMENTS for (int i = 0; i < TheManager.TM.Thingies.Count; i++) { DataStruct data; data.ObjectType = (int)TheManager.TM.Thingies[i].tot; data.TransformData = new float[9]; Vector3 pos = TheManager.TM.Thingies[i].transform.position; Vector3 rot = TheManager.TM.Thingies[i].transform.rotation.eulerAngles; Vector3 scl = TheManager.TM.Thingies[i].transform.localScale; data.TransformData[0] = pos.x; data.TransformData[1] = pos.y; data.TransformData[2] = pos.z; data.TransformData[3] = rot.x; data.TransformData[4] = rot.y; data.TransformData[5] = rot.z; data.TransformData[6] = scl.x; data.TransformData[7] = scl.y; data.TransformData[8] = scl.z; FileFuncs.PackElement(data, i); } #endregion FileFuncs.SaveFileClose(); }
public void Load() { FileFuncs.LoadFileOpen(fname); BaseCommand bc = new BaseCommand(); //TheManager.TM.DestroyAll(); for (int i = TheManager.TM.Thingies.Count - 1; i >= 0; --i) { bc.AddAction(new CDelete(TheManager.TM.Thingies[i])); } for (int i = FileFuncs.GetArrSize() - 1; i >= 0; --i) { DataStruct d = FileFuncs.ExtractElement(i); //Debug.Log(d.ObjectType); Thingy thing = PoolQueue.PQ.RequestThing((TypeOfThingy)d.ObjectType); bc.AddAction(new CSpawn(thing)); bc.AddAction(new CMovement(thing, new Vector3(d.TransformData[0], d.TransformData[1], d.TransformData[2]))); bc.AddAction(new CRotate(thing, Quaternion.Euler(d.TransformData[3], d.TransformData[4], d.TransformData[5]))); bc.AddAction(new CScale(thing, new Vector3(d.TransformData[6], d.TransformData[7], d.TransformData[8]))); //thing.transform.position = new Vector3(d.TransformData[0], d.TransformData[1], d.TransformData[2]); //thing.transform.rotation = Quaternion.Euler(d.TransformData[3], d.TransformData[4], d.TransformData[5]); //thing.transform.localScale = new Vector3(d.TransformData[6], d.TransformData[7], d.TransformData[8]); } bc.Do(); FileFuncs.LoadFileClose(); }
private void Awake() { TheManager.TM.Controls.Add(this); FileFuncs.CloseAll(); }