概要
EditorWindow作成して
スクリプト編集しようって時にいちいちスクリプトファイル探して開くの面倒なので対応した
※変更:パス直書きだとイケてないので取得するように対応してみた
サンプル
スクリプト
using System.Runtime.CompilerServices;
using UnityEditor;
using UnityEngine;
public class EditorSample : EditorWindow, IHasCustomMenu
{
public void AddItemsToMenu(GenericMenu menu)
{
// メニュー追加
menu.AddItem(new GUIContent("Open Script"), false, () =>
{
//UnityEngine.Object obj = AssetDatabase.LoadAssetAtPath("Assets/Scripts/Editor/Sample.cs", typeof(UnityEngine.Object));
string filePath = GetSourceFilePath();
filePath = filePath.Replace(Application.dataPath.Substring(0, Application.dataPath.LastIndexOf("/") + 1), "");
UnityEngine.Object obj = AssetDatabase.LoadAssetAtPath(filePath, typeof(UnityEngine.Object));
if (obj != null)
{
Selection.activeObject = obj;
// 第2引数は行数
AssetDatabase.OpenAsset(obj, 0);
}
});
}
private string GetSourceFilePath([CallerFilePath] string sourceFilePath = "")
{
return sourceFilePath.Replace("\\", "/");
}
}