うにてぃブログ

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

Attribute

【Unity】下にスペースを追加する Attribute

通常 スペースを入れる場合 [SerializeField] private Button buttonPlay; [SerializeField, Space] private Button buttonReverse; 上 にスペースが追加されます が 下に スペースを追加したかったので EndSpaceAttribute を作成しました [SerializeField, …

【Unity】Null の場合 警告を出す Attribute

オブジェクト等の参照が無い場合、警告を出す Attribute を作成してみました シリアライズされているフィールドに NotNull をつけると表示されるようになります public class SampleMonoBehaviour : MonoBehaviour { [SerializeField, NotNull] private Rect…

【Unity】シリアライズしたオブジェクトの参照を制限する Attribute

以下のように記述している場合 Hierarchy にあるオブジェクトや Project にあるオブジェクト等 制限なく自由にオブジェクトの設定ができてしまう [SerializeField] private GameObject _obj; そのため、オブジェクトに制限をかける Attribute を作成しました…

【C#】特定の シンボル定義時にメソッド呼び出しを行わない方法

Conditional をメソッドに定義することで、文字列で指定した シンボルが定義されていた場合のみ呼び出すようになる [Conditional("UNITY_EDITOR")] private void DebugMethod() { } ````

【Unity】MonoBehaviour クラスのシリアライズされた変数の Inspector をカスタマイズ する Attribute の作り方

例えば RangeAttribute を利用すると Inspector にスライダーUIを表示することができる public class SampleAttribute : MonoBehaviour { [SerializeField, Range(0, 10)] private int _range; } テンプレート これを定義すると 通常と何も変わらないが [Sam…