UnityEditorInternal.InternalEditorUtilityを使う
ドキュメント化されていないUnityEditorInternal配下のInternalEditorUtilityの一部の機能を少し紹介します。
基本的に便利メソッド集的なポジションに居るのがInternalEditorUtilityクラス
InternalEditorUtility.tags
TagsManagerで設定しているタグ名を取得出来る
Unityのスクリプトで唯一取得できる方法じゃないかな
タグ名を使って何かしたい!という人が使う
例
タグ名をタイプセーフで使いたい
TagName.csを自動生成するときに使ってます
https://gist.github.com/anchan828/3cf9014a8493ab023925
InternalEditorUtility.layers
TagsManagerで設定しているレイヤー名を取得出来ます
今までも LayerMask.LayerToName
で引数に0~32のintを渡せばレイヤー名は取得出来ました
for文で回してコードを自分で書くより楽なのでInternalEditorUtility.layersを使ってもいいかも
InternalEditorUtility.CanConnectToCacheServer
CacheServerに接続できるかどうか
InternalEditorUtility.GetEditorAssemblyPath
UnityEditor.dllのパスを取得する
/Applications/Unity/Unity.app/Contents/Frameworks/Managed/UnityEditor.dll
と同じ意味
InternalEditorUtility.GetEngineAssemblyPath
UnityEngine.dllのパスを取得する
/Applications/Unity/Unity.app/Contents/Frameworks/Managed/UnityEngine.dll
と同じ意味
InternalEditorUtility.GetExternalScriptEditor
デフォルトのスクリプトエディタのパスを取得
/Applications/Sublime Text 2.app
私はMonodevelopではなくSublimeText2を設定しています
InternalEditorUtility.GetFullUnityVersion
Unityのバージョンを取得する。MD5ハッシュ値の一部(?)も含めてる
4.0.0f7 (034d3531fec3)
InternalEditorUtility.GetIconForFile
ファイルパスからアイコンを取得する。覚えておくと便利
内部で拡張子を抽出してEditorGUIUtility.FindTextureでビルドインされているアイコンを取得してるだけ
InternalEditorUtility.GetLicenseInfo
ライセンス情報を取得する
License type: Unity Pro, Team, iPhone Pro, Android Pro Serial number: ○○-○○○○-○○○○-○○○○-○○○○-XXXX
「About Unity...」で見れるライセンス情報と同じもの
InternalEditorUtility.GetUnityVersionDate
今使ってるUnityバージョンがいつリリースされたか。これは使わないだろうし豆知識程度で...w
InternalEditorUtility.HasAdvancedLicenseOnBuildTarget
( Proとかワンランク上のライセンスを持っているかどうか...だと思う )
InternalEditorUtility.HasAdvancedLicenseOnBuildTarget (BuildTarget.PS3)
こうするとTrueが返る
InternalEditorUtility.HasPro
プロライセンス持っているか。UnityProのこと指してる
InternalEditorUtility.IsUnityBeta
UnityEditorがβ版かどうか
InternalEditorUtility.OpenEditorConsole
エディタコンソール開く
InternalEditorUtility.OpenFileAtLineExternal
デフォルトのスクリプトエディタでテキストファイルを開く
InternalEditorUtility.OpenFileAtLineExternal ("Assets/Editor/Hoge.cs", 3);
相変わらずSublimeTextではline反応せず
InternalEditorUtility.ShowGameView
GameViewを表示させる
タブウィンドウで見えなくなっていても強制的に見えるようになる
InternalEditorUtility.unityPreferencesFolder
Preferencesのパスが取得できる
/Users/username/Library/Preferences/Unity/Editor-4.x
ここはレイアウトとSearchFilterが保存されている場所
まだいっぱいあるけど情報無いし、検証できてないのでひとまずここまで。