ビルドインのGUISkinを見る - CustomStyle名を知る方法
UnityEditorのスキンはGUISkinとして保存されている。
- EditorSkin.Game
- EditorSkin.Inspector
- EditorSkin.Scene
UnityEditorのスキンは基本この3つ
スクリプトからはこんな感じで取得できる
EditorGUIUtility.GetBuiltinSkin (EditorSkin.Game);
ビルドインのGUISkinにはCustomStyleが大量にあるのだが、style名が何なのか知る術がない。(公開されていない)
なので今回は
ビルドインのCustomStyleを知る方法
手段の1つとしてBuiltinSkinをScriptableObjectとして保存する
まずはScriptableObjectを継承したBuildinSkins.csを作成
BuildinSkins.cs
using UnityEngine; using UnityEditor; public class BuildinSkins : ScriptableObject { public GUISkin game = EditorGUIUtility.GetBuiltinSkin (EditorSkin.Game); public GUISkin inspector = EditorGUIUtility.GetBuiltinSkin (EditorSkin.Inspector); public GUISkin scene = EditorGUIUtility.GetBuiltinSkin (EditorSkin.Scene); }
CreateBuildinSkins.cs
using UnityEngine; using UnityEditor; public class CreateBuildinSkins { [MenuItem("Assets/CreateBuildinSkins")] static void Create () { BuildinSkins buildinSkins = ScriptableObject.CreateInstance<BuildinSkins> (); AssetDatabase.CreateAsset (buildinSkins, "Assets/BuildinSkins.asset"); AssetDatabase.SaveAssets (); AssetDatabase.Refresh (); } }
実行するとBuildinSkins.assetが生成される
Inspectorを見ると...
LightSkinをダブルクリック
CustomStyleが461個あるのがわかる
実際に使うには
EditorGUIUtility.GetBuiltinSkin (EditorSkin.Inspector).FindStyle ("OL Label");
のように取得すると良い。