Files
aibis-dream/Assets/Editor/MenuItem/BlockPuzzleMenuItemCreator.cs
T

28 lines
1.0 KiB
C#

using UnityEditor;
using UnityEngine;
namespace AibisDream.SystemEditor
{
public static class BlockPuzzleMenuItemCreator
{
private const string BLOCK_SHAPE_PREFAB_PATH = "Assets/Prefabs/BlockPuzzle/BlockShape.prefab";
[MenuItem(AibisEditorMenus.BlockPuzzleShape)]
public static BlockShape CreateBlockPuzzleShape()
{
var prefabAsset =AssetDatabase.LoadAssetAtPath<GameObject>(BLOCK_SHAPE_PREFAB_PATH);
if (prefabAsset == null)
{
throw new System.InvalidOperationException(
$"Can't create a new Block Shape: Can't find the prefab to create a Block Shape from."
);
}
var instantiatedPrefab = (GameObject)PrefabUtility.InstantiatePrefab(prefabAsset);
PrefabUtility.UnpackPrefabInstance(instantiatedPrefab, PrefabUnpackMode.Completely, UnityEditor.InteractionMode.UserAction);
return instantiatedPrefab.GetComponent<BlockShape>();
}
}
}