|
@@ -43,14 +43,15 @@ public class SpineEditor {
|
|
CreateAsset<SkeletonDataAsset>("New SkeletonData");
|
|
CreateAsset<SkeletonDataAsset>("New SkeletonData");
|
|
}
|
|
}
|
|
|
|
|
|
- static private void CreateAsset <T> (String path) where T : ScriptableObject {
|
|
|
|
- try {
|
|
|
|
- path = Path.GetDirectoryName(AssetDatabase.GetAssetPath(Selection.activeObject)) + "/" + path;
|
|
|
|
- } catch (Exception) {
|
|
|
|
- path = "Assets/" + path;
|
|
|
|
|
|
+ static private void CreateAsset <T> (String name) where T : ScriptableObject {
|
|
|
|
+ var dir = "Assets/";
|
|
|
|
+ var selected = Selection.activeObject;
|
|
|
|
+ if (selected != null) {
|
|
|
|
+ var assetDir = AssetDatabase.GetAssetPath(selected.GetInstanceID());
|
|
|
|
+ if (assetDir.Length > 0 && Directory.Exists(assetDir)) dir = assetDir + "/";
|
|
}
|
|
}
|
|
ScriptableObject asset = ScriptableObject.CreateInstance<T>();
|
|
ScriptableObject asset = ScriptableObject.CreateInstance<T>();
|
|
- AssetDatabase.CreateAsset(asset, path + ".asset");
|
|
|
|
|
|
+ AssetDatabase.CreateAsset(asset, dir + name + ".asset");
|
|
AssetDatabase.SaveAssets();
|
|
AssetDatabase.SaveAssets();
|
|
EditorUtility.FocusProjectWindow();
|
|
EditorUtility.FocusProjectWindow();
|
|
Selection.activeObject = asset;
|
|
Selection.activeObject = asset;
|