コード例 #1
0
    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();
    }