public override void OnInspectorGUI() { var script = target as NewComponent; if (script.saveOnStart) { Save(); script.saveOnStart = false; } //timescale = GUILayout.HorizontalScrollbar(timescale, 1.0f, 0.0f, 10.0f); GUILayout.HorizontalSlider(1, 0, 1); if (GUILayout.Button("Destroy All Entities")) { World.DefaultGameObjectInjectionWorld.EntityManager.DestroyEntity(World.DefaultGameObjectInjectionWorld.EntityManager.UniversalQuery); } if (GUILayout.Button("Save")) { DisablePhysicsSystemForSaving(); SaveJsonYamlXml(script); SaveData(); Debug.Log("Saved"); } if (GUILayout.Button("Load")) { LoadData(); } // Save gameobjects to binary file if (GUILayout.Button("Destroy GameObjects")) { var allGameObjects = FindObjectsOfType <GameObject>().ToList(); script.SavedGameObjects = allGameObjects; GameObject ignore = null; foreach (var go in allGameObjects) { if (go == script.gameObject) { ignore = go; } } allGameObjects.Remove(ignore); Debug.Log("Removing editor from destroy list"); // Save objects as binary file var referencedObjectsPath = "Assets/BinaryObjectsSaveFile.binary"; // path forward slash for asset access BinarySerialization.WriteToBinaryFile(referencedObjectsPath, allGameObjects); Debug.Log("Saved all gameobjects to binary file"); for (int i = 0; i < allGameObjects.Count; i++) { Destroy(allGameObjects[i]); } } if (GUILayout.Button("Create GameObjects")) { // Load objects from binary file var path = "Assets/BinaryObjectsSaveFile.binary"; // path forward slash for asset access var list = BinarySerialization.ReadFromBinaryFile <List <GameObject> >(path); Debug.Log("Read all gameobjects from binary file"); foreach (var go in list) { Instantiate(go, go.transform.position, go.transform.rotation); } } if (GUILayout.Button("new save")) { WorldManagement.Save(); } if (GUILayout.Button("new Load")) { WorldManagement.Load(); } DrawDefaultInspector(); }