UnmappedIsland ソースリファレンス - v0.1.0
    検索インデックスを準備しています...

    クラス StatusBar

    ステータス1件分の「固定表示の印+見出し+バー+増減」。行の高さはバーの高さと等しい。 満たされ具合を持たないプロパティは、今いる段の中での進みをバーにし、その両端に今の段と次の段の 名前を重ねる(StatusArea.md 9節)。段も持たなければ、バーの代わりに実効値そのものを出す。

    危険域・致命的域のバーは枠を明滅させる(StatusArea.md)。行はどこをタップしても、その ステータスの詳細が開く。

    階層

    • Container
      • StatusBar
    インデックス

    バーと、その上に重ねる文字(左=値の読み、右=次の段)。どちらも作っておいて出し分ける ——段が上がると満たされ具合を言えなくなる(最上段には次が無い)ので、どちらを出すかは行の 一生を通じて固定ではない。出さない文字は空にする。

    barTextWidth: number

    バーに重ねる文字1つが使える幅(両端の文字がぶつからないよう、それぞれ半分まで)。

    changeMark: Text

    増減の記号と固定表示の印。出ていないときは空文字にする。

    content: StatusContent

    今映している内容。詳細を開く入口は行動のたびに差し替わるため、押された時点のものを使う。

    inputSurface: Zone

    この行のポインタ操作を受ける面(行の矩形いっぱい)。行を並べる側は、はみ出した分を送るときに これを面として渡す——行が可視域の幅いっぱいを占めるので、地に敷いた面には指が届かない (ScrollArea.inputSurfaces)。

    moveTween: Tween | undefined

    移動中の動き。画面を作り直すと捨てられるため、消えるときに止める。

    nextStageText: Text
    pinMark: Text
    valueText: Text
    worsensUpward: boolean

    増えるほど悪い値か。プロパティごとに決まっていて動かないため、作るときに1回だけ受け取る。

    • showChangeがfalseなら、変化の帯を出さずに値を今の状態にする(show参照)。

      段が上がった行も帯を出さない。 バーの軸が次の段へ移って0から始まるので(barKeepsAxis)、 前の段の位置との差は変化量ではない——帯にすると、腕が上がったのに「減った分」の赤が出る。

      パラメータ

      戻り値 void

    • 並びから外れた行にする(変化を見せ終わった、固定表示を外した)。

      戻り値 void

    • 値・増減・域・固定表示を今の状態へ書き換える。行ごと作り直さずに済ませるのは、バーが減る様子 (ProgressBar.setRatio)を見せている途中で捨てないため。

      パラメータ

      戻り値 void

    • この行を、今の内容でyの位置へ出す。既に出ていた場合は、位置が変わったぶんを動きとして見せる (並び順が変わったとき、どのバーがどこへ動いたのかを目で追えるようにするため)。 出ていなかった場合は動かさずその位置に現れる(見えていなかった位置から飛んでこないように)。

      出ていなかった行は、直前の行動を始める前の値(ratioBefore)から見せ始める。こうすると帯は 「その行動で変わった分」だけになる。出ていなかった間の変化まで帯にすると、目で追えなかった動きが 今この瞬間の変化として出てしまう(安全域から現れた行が、満タンからいきなり減ったように見えていた)。 内容と位置を1つの操作にしているのは、呼び出し側が「出す前に中身を入れる」順序を覚えなくて済むよう。

      パラメータ

      戻り値 void

    • 三角の向きは値の増減そのもの、色は良し悪し(増えると悪い値では緑と赤が入れ替わる)。

      パラメータ

      戻り値 void

    • 位置が変わったぶんを動きとして見せる。

      パラメータ

      • y: number

      戻り値 void

    • この行を渡した内容にしたとき、まだ見せ終わっていない変化が残るか。安全域へ戻った行を、変化を 見せ切るまで並びに残すかの判断に使う(statusRows)。

      出ていない行は動かさずに現れる(show参照)ので、残す理由が無い——出ていない間に進んだ分は 見せない変化なので、バーが持っている値との差を変化として数えてはいけない。

      パラメータ

      戻り値 boolean