NarraLeaf

Button

ブループリントが属するボタンのラベル、ポインタ、操作状態の読み書き

nl.buttonの Self ノード群です。各ノードは自身のブループリントが属するボタンに対して作用し、Element入力を取らず、そのボタン自身のブループリントにのみ現れます。別のボタンを操作するには、Elementにある対応するノードを使ってください。

規約

  • 読み取りは純粋、書き込みは latent です。 このページのGetノードはすべてPureです。SetノードはすべてLatentです。書き込みはホストを経由して非同期に解決され、グラフはそれを待ってから先に進みます。
  • 何も変えない書き込みは何もしません。 ホストは入力された値を現在の値と比較し、一致すれば早期に処理を終えます。そのため再描画はキューされず、On Flushも発火しません。
  • ブール入力は現在の値にフォールバックします。 enabledとvisibleはカード上のリテラルを受け付けません。何も配線されていない場合、または配線先がnullに解決される場合、プロパティはそのまま維持されます。配線されたブール以外の値は、文字列"true"または"1"である場合に限り真として扱われます。
  • 外観はDisplayableが担います。 ジオメトリ、不透明度、外観バリアントはすべてのウィジェットについてそちらで設定するものであり、ここでは設定しません。
  • このページの2つのノードはパレットに存在しません。 Get VariantとSet Variantは Displayable のバリアントノードに取って代わられ、非表示になっています。ここに記載しているのは、切り替え以前に作成されたブループリントが今もこれらを保持し、今も実行できるためであり、新規に追加できるからではありません。
  • これらはいずれも Blueprint Value の内部では実行できません。 Getノードは純粋ですが、Blueprint Value はwidgetValueオーナー上で評価され、このページのすべてのノードはボタンのメインブループリントにスコープされています。Blueprint Value の内部からこのボタンを読み取るには、それを指すElementリテラルを配置し、Element カテゴリの読み取りノードを使ってください。props.label自体が Blueprint Value によって駆動できるプロパティです。
  • 表示と有効状態のノードは、それぞれ同じ種類のノードとしてまとめられます。 パレットを一覧するとき、Get VisibleとGet Enabledは Get Visible or Enabled(表示・有効状態を取得)、Set VisibleとSet Enabledは Set Visible or Enabled(表示・有効状態を設定)として、それぞれ 1 行で表示されます。検索すると各ノードが自分の名前で表示されます。配置したカードは、タイトルの横の ▾ で 2 つのノードを切り替えられます。同じ種類のノードを参照してください。

Set Label

blueprint.button.setLabel · Latent

Set Label(ラベルの設定)はボタンのテキストを書き込みます。何も配線されておらずカードのフィールドも空のままの場合、空文字列を書き込みます——ラベルをそのままにするのではなく、空にします。

書き込んだラベルは、ページを開き直すまですべての言語で書き込んだとおりに表示され、翻訳キー、ボタン自身のラベルの翻訳、Blueprint Value より優先されます。初めて書き込むラベルは、画面上のラベルと同じでも変更として扱われます。最初の書き込みまでは、ボタン自身のラベルがその既定値です。インターフェースのテキスト を参照してください。

ピン方向型備考
inin · exec—
nextout · exec—
labelin · datastringカード上のリテラルを受け付けます。

Get Label

blueprint.button.getLabel · Pure

Get Label(ラベルの取得)は画面に表示されているラベルを読み取ります。ゲームの実行中に書き込まれたラベル、そうでなければボタンの翻訳キーの文字かボタン自身のラベルのプレイヤーの現在の言語でのテキスト、あるいは Blueprint Value やリストの行の項目が与えるラベルです。

ピン方向型備考
labelout · datastring

Set Pointer

blueprint.button.setPointer · Latent

Set Pointer(ポインタの設定)はボタンの既定のマウスポインタを設定します——Appearance インスペクタの Mouse セクションが書き込むのと同じフィールドです。対応するGet Pointerは存在しません。

ピン方向型備考
inin · exec—
nextout · exec—

カード上のフィールド

フィールド内容
cursorauto、default、pointer、text、move、grab、grabbing、crosshair、help、wait、progress、not-allowedのいずれか。

autoは形状として保存されるのではなく、実行時に解決されます——ボタンがクリックを発生させられるときはpointer、できないときはdefaultになります。enabledが false のボタンは、ここで何を設定していてもnot-allowedを表示するため、無効化されたボタンへのポインタ変更は、再び有効化するまで見えるようになりません。

Set Enabled

blueprint.button.setEnabled · Latent

Set Enabled(有効化の設定)は、falseを渡すと操作を無効化します。ボタンは描画とレイアウトを維持したまま、クリックを受け付けなくなり、not-allowedポインタに切り替わります。

ピン方向型備考
inin · exec—
nextout · exec—
enabledin · databoolean

Get Enabled

blueprint.button.getEnabled · Pure

Get Enabled(有効状態の取得)

ピン方向型備考
enabledout · databoolean

Set Visible

blueprint.button.setVisible · Latent

Set Visible(表示状態の設定)

ピン方向型備考
inin · exec—
nextout · exec—
visiblein · databoolean

visibleに false を渡すと、ボタンとそのサブツリーがランタイムの要素ツリーから取り除かれます——これは CSS による非表示ではありません。ウィジェットはアンマウントされ、このブループリントは停止し、戻ってきたときにInitが再び実行されます。そのため、隠れたボタンは自分自身を再表示できません。別の何かがそれに対してSet Button Visibleを呼び出す必要があります。非表示のままマウントしておきたい場合は、Displayable のSet Displayを使ってください。

Get Visible

blueprint.button.getVisible · Pure

Get Visible(表示状態の取得)

ピン方向型備考
visibleout · databoolean

Set Variant

blueprint.button.setVariant · Latent

Set Variant(バリアントの設定)はパレットから非表示になっており——このノードを追加することはできません。カード上で名前によりバリアントを選び、バリアントを持つすべてのウィジェットをカバーする Displayable のSet Variantに取って代わられました。それでも実行は可能であるため、切り替え以前に作成されたブループリントは動作し続けます。

ピン方向型備考
inin · exec—
nextout · exec—

バリアント id は、旧いドキュメントがノード上に保存していたvariantId入力から得られます。現在の定義にはそのようなピンは存在しないため、新しく配置したカードには設定できるものが何もありません。ボタンが所有していない id を渡すとグラフ実行エラーになります。空の id は既定のバリアントへリセットします。

Get Variant

blueprint.button.getVariant · Pure

Get Variant(バリアントの取得)も同じ理由でパレットから非表示になっており、サポートされる代替も存在しません——Displayable のGet Variantも同様に非表示であり、これが出力するバリアント UUID は内部の永続化用の値にすぎず、新しいブループリントの中でそれを消費するものは何もありません。

ピン方向型備考
variantIdout · datastring設定されていればランタイムオーバーライドの値、なければ作成時の既定値、それもなければ最初のバリアント。ボタンにバリアントがない場合は""。

このページの目次