UnityのAttribute(属性)について
初めまして!ひろたか('Д')です。
現在、いろいろ忙しくて技術的な部分があまり勉強できていませんが、頑張っていきます。
今回はUnityのAttributeの中でもいくつか使えそうなものを紹介します。
SerializeFiled
[SerializeFiled] private int serializeFiled;
まずはおなじみSerializeFiledです。privateやprotectedフィールドを強制的にシリアライズしてInspector上での編集を可能にします。
HideInInspector
[HideInInspector] public int hideInInspector
こちらはSerializeFiledとは逆にpublicなどのシリアライズするフィールドをInspector上から隠します。
似たようなものにSystem.NonSerializebleというものがあります。こちらはシリアライズをしないように設定することでInspetor上から隠します。
HeaderAttribute
[Header("Title")] public int header;
Inspector上のフィールドにタイトルが追加されます。
TooltipAttribute
[Tooltip("説明文")] public int tooltip;
inspector上のフィールドにマウスカーソルを合わせると説明文が表示されます。
ExecuteInEditMode
[ExecuteInEditMode] public class ExecuteInEditBehaviour:MonoBehaviour{ }
クラスの前に付けるAttributeです。これは付けるとエディタがプレイモードになっていなくてもMonoBehavioursのStartやUpdateなどのコールバック関数が呼ばれるようになります。
複数の属性を設定したい場合
Attributeは複数付けることもできます。
[SerializeFiled,Tooltip("説明文")] public int hoge;