うにてぃブログ

主にUnityとC#に関する記事を書いていきます

SerializedObject

【Unity】UnityEditor で List を横並びに表示させる

クラスの IList を UnityEditor 上に表示させるときに 縦並びよりは横並びの方が見やすいのではないかと思ったので作成してみた 表示の調整のために Rect をいじっているため結構読みにくいです using UnityEditor; using UnityEngine; public static class …

【Unity】SerializedProperty を用いたクラス描画手法 ~2~

だいぶ複雑になるが EditorGUILayout.PropertyField の includeChildren: true を利用せずに すべての SerializedProperty を取得し描画していくこともできる。 NextVisible を利用するのは変わらないが、SerializedPropertyType.Generic の場合は中身を更に…

【Unity】SerializedProperty を用いたクラス描画手法 ~1~

SerializedProperty の表示 通常 SerializedProperty を利用して Editor の表示を行う場合以下ように記述する。 using UnityEditor; public class SampleEditor : Editor { private SerializedProperty _sampleProp; private void OnEnable() { _sampleProp …

【Unity】SerializedProperty と System.Type の Array と List の判定と Type 取得

Array と List の判定 SerializedProperty のみでは Array か List どちらか知ることができますが、System.Typeを利用しないとどちらかを判定できません string も内部的には char の Array なので string のチェックをする必要があります public static boo…

【Unity】Type の FieldInfo を serializedObject.FindProperty で取得できるように 再帰的に取得するコード

Array や List の場合は要素のTypeを取得する必要があるためチェック処理を入れている また、System系の構造体やクラスだと無限ループすることがあったので Array や List 以外の System系は無視している ※Array や List の Path には非対応 private static …