Files
StoryGame_Unity/Assets/Live2D/Cubism/Editor/CubismUnityEditorUtility.cs

35 lines
1.4 KiB
C#

using System.IO;
using UnityEditor;
namespace Live2D.Cubism.Editor
{
public class CubismUnityEditorUtility
{
/// <summary>
/// Projectウィンドウで現在選択しているディレクトリのパスを取得。
/// Projectウィンドウ以外が選択されていたり、何も選択されていない場合、返す値はAssets直下。
/// </summary>
/// <returns>Projectウィンドウで現在のディレクトリのパス</returns>
public static string GetCurrentDirectoryPath()
{
var activeObject = Selection.activeObject;
// [Unity6.5] GetInstanceID()가 obsolete error — GetAssetPath(EntityId) 오버로드로 교체.
// SDK 5-r.5는 Unity 6.0 기준이라 미대응. 대응 버전이 나오면 이 줄을 되돌릴 것.
var currentDirectoryPath = ((activeObject == null)
? "Assets"
: AssetDatabase.GetAssetPath(activeObject.GetEntityId()));
if (string.IsNullOrEmpty(currentDirectoryPath))
{
currentDirectoryPath = "Assets";
}
else if (!Directory.Exists(currentDirectoryPath))
{
currentDirectoryPath = currentDirectoryPath.Replace("/" + Path.GetFileName(currentDirectoryPath), "");
}
return currentDirectoryPath;
}
}
}