private static void SaveSelectedBlocksAsABlockSetup()
    {
        var blockSetup = ScriptableObject.CreateInstance <MultiBlockSetup>();

        blockSetup.Blocks = new List <EasyBlock>();
        blockSetup.Blocks.AddRange(Selection.GetFiltered <EasyBlock>(SelectionMode.Assets));

        ScriptableObjectUtility.CreateAssetWithSavePrompt(blockSetup, "BlockSetup");
    }
示例#2
0
    private static void SaveCurrentSceneSetup(string assetPath = null)
    {
        var loader = ScriptableObject.CreateInstance <MultiSceneSetup>();
        var setups = EditorSceneManager.GetSceneManagerSetup();

        loader.Setups = new List <SceneSetup>();
        for (var i = 0; i < setups.Length; i++)
        {
            loader.Setups.Add(new SceneSetup(setups[i], i == 0 ? LoadSceneMode.Single : LoadSceneMode.Additive));
        }

        if (string.IsNullOrEmpty(assetPath))
        {
            ScriptableObjectUtility.CreateAssetWithSavePrompt(loader, "SceneSetup");
        }
        else
        {
            ScriptableObjectUtility.CreateAsset(loader, assetPath);
        }
    }