32 lines
865 B
C#
32 lines
865 B
C#
|
using System.IO;
|
||
|
using UnityEditor;
|
||
|
using UnityEngine;
|
||
|
|
||
|
namespace Mirror
|
||
|
{
|
||
|
public static class EditorHelper
|
||
|
{
|
||
|
public static string FindPath<T>()
|
||
|
{
|
||
|
string typeName = typeof(T).Name;
|
||
|
|
||
|
string[] guidsFound = AssetDatabase.FindAssets($"t:Script {typeName}");
|
||
|
if (guidsFound.Length >= 1 && !string.IsNullOrWhiteSpace(guidsFound[0]))
|
||
|
{
|
||
|
if (guidsFound.Length > 1)
|
||
|
{
|
||
|
Debug.LogWarning($"Found more than one{typeName}");
|
||
|
}
|
||
|
|
||
|
string path = AssetDatabase.GUIDToAssetPath(guidsFound[0]);
|
||
|
return Path.GetDirectoryName(path);
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
Debug.LogError($"Could not find path of {typeName}");
|
||
|
return string.Empty;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|