UDN
Search public documentation:

UnrealScriptMetadataJP
English Translation
中国翻译
한국어

Interested in the Unreal Engine?
Visit the Unreal Technology site.

Looking for jobs and company info?
Check out the Epic games site.

Questions about support via UDN?
Contact the UDN Staff

UE3 ホーム > UnrealScript > UnrealScript 言語のリファレンス > UnrealScript のメタデータ

UnrealScript のメタデータ


概要


変数は、メタデータという形態の付加的情報をもつことができます。このメタデータは、変数単位で指定します。メタデータの目的は、エンジンまたはエディタが使用する拡張機能を提供することです。特に、変数の表示名や、ツールチップ、最小最大値を指定するために使用することができます。

メタデータの指定


メタデータの指定は任意です。UnrealScript でプロパティとリンクさせるには、次のようにします。

*変数の場合 : *

var float MyVar<TAG=VALUE>

*列挙型変数の場合 : *

enum EMyEnum
{
   EME_ValA<TAG=VALUE>,
   EME_ValB<TAG=VALUE>,
};

複数のメタデータ指定を使用する

1 つのプロパティに対して、複数のメタデータ指定を使用するには、 | という文字によってメタデータを区切ります。

例 :

var()   LinearColor    DrawColor<DisplayName=Draw Color|EditCondition=bOverrideDrawColor>;

利用可能なメタデータ


以下は、現在サポートされているメタデータのタグとその説明です。

ToolTip=TEXT_STRING
エディタプロパティウインドウ内の対応するプロパティがマウスオーバーされると、 TEXT_STRING がツールチップとして表示されるようになります。
追記 : /** VALUE */ コメントが、スクリプトコンパイラによって自動的にToolTip メタデータに変換されるようになりました。
DisplayName=TEXT_STRING
プロパティの名前が、エディタ プロパティ ウインドウ内で、実際の名前ではなく、 TEXT_STRING として表示されるようになります。

たとえば、次のようになります。

   Var() bool bEnableSpawning<DisplayName=Spawning Enabled>;


注意: 列挙型変数で DisplayName を使用し、UPropertyInputCombo がエディタのコンボボックス内にある列挙型変数をソートするように編集すると、問題が発生します。

ClampMin/ClampMax=FLOAT_VALUE
プロパティの値をクランプすることができるようになります。 ClampMin または ClampMax のどちらか一方しか指定されていない場合は、標準的なスピナーコントロールがプロパティによって使用され、適切にクランプされることになります。両方が指定されている場合は、適切にクランプされたスライダー / 編集ボックスコントロールがプロパティによって使用されます。詳細については、 クランプ のページを参照してください。
UIMin/UIMax=FLOAT_VALUE
ClampMin/ClampMax とともに使用されることによって、スライダーバーコントロールの範囲を指定することができるようになります。 UIMin または UIMax のどちらか一方が指定されていない場合は、対応する Clamp* メタデータがその代わりに使用されることになります。これによって影響を受けるのは、スライダーバーだけです。コントロールのうち編集ボックスの部分は、 Clamp* の値を使用することになります。詳細については、 クランプ のページを参照してください。
ArrayClamp=ArrayProeprtyName
Int プロパティの値を、配列プロパティの有効な範囲にクランプすることができるようになります。したがって、もし指定された配列に 4 つの配列要素があるならば、 03 の間に Int プロパティがクランプされることになります。これが便利なのは、デザイナーまたはアーティストが、配列に入れる要素番号をプロパティに指定する際、無効なメモリアクセスの原因となる値を設定しないで済むようになるからです。詳細については、 クランプ のページを参照してください。
EditCondition=ConditionalPropertyName
エディタプロパティの編集可能ステータスを、他の (Bool 型) プロパティの値に基づいて、編集可能または不可能に設定することができるようになります。たとえば、UnrealScript クラスの MyPackage.MyClass において、次のように設定することができます。

   /** Enable or disable spawning */
   Var() bool bEnableSpawning;

   /** Set the rate at which AIs are spawned. Has no effect unless bEnableSpawning = TRUE */
   Var() float RespawnsPerSecond<EditCondition=bEnableSpawning>;
   


これによって、 bEnableSpawningFALSE の場合はいつでも、 RespawnsPerSecond がグレイアウトされる(非選択項目としてグレーの文字で表示される)ことになります。これによって、デザイナーが混乱することを防ぐことができます。

重要 : このメタデータの設定では、コントロールされる変数 ( RespawnsPerSecond ) が、カスタムのプロパティ アイテムのバインディング ( WxCustomPropertyItem_ConditionalItem ) を使用する必要があります。

これを有効にするには、次のようにして、 [Game]Editor.ini 内で接続を取る必要があります。

   [UnrealEd.CustomPropertyItemBindings]
   CustomPropertyClasses=(PropertyPathName=" MyPackage.MyClass: RespawnsPerSecond ",PropertyItemClassName="WxCustomPropertyItem_ConditionalItem")

MultilineWithMaxRows=INT_VALUE
行数を指定することによって、プロパティ ウインドウ内で複数行のテキストボックスを使う String プロパティを作成することができるようになります。テキストボックスは、1 行から始まります。テキストが入力されると、 =INT_VALUE として指定された行数まで増えます。最大行数に達すると、テキストボックスがスクロールを開始します。
bShowOnlyWhenTrue=PropertyName
[UnrealEd.PropertyFilters] セクションの下にある [Game]EditorUserSettings.ini ファイルで設定されたプロパティ フィルタの値に基づいて、プロパティ ウインドウにおけるプロパティの表示を制御することができるようになります。
FriendlyName=TEXT_STRING
UI エディタ によって使用されます。
AllowAbstract
クラスプロパティ上に存在する場合は、そのプロパティを編集するためのエディタのドロップダウンボックスに、抽象クラスが含まれるようになります。存在しない場合は、具体クラスのみが含まれることになります。このメタデータ指定では、True や False のような値を指定する必要がありません。
AutoComment=BOOLEAN_VALUE
Kismet のプロパティに追加されると、プロパティとその現在の値が、アクションの上にコメントとして、自動的に表示されるようになります。これをアクションで見るには、新たな Gate シーケンスアクションをスクリプト内に配置します。bOpen と AutoCloseCount の両クラスで、このメタデータオプションが使用されます。