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

    クラス ProgressBar

    横方向の進捗バー(枠付きのトラックと、左詰めの塗り)。ステータスバー・探索ウィンドウ・カードの 状態バーのように「全体に対する割合」を見せる場所で共用する。

    寸法はピクセルで受け取り、角の丸みだけを高さから決める(高さを変えても丸みの見え方が揃うため)。

    階層

    • Container
      • ProgressBar
    インデックス
    alert: AlertLevel = 'safe'

    今の域。塗りの色と、警戒の枠を出すかどうかの両方がこれで決まる。

    alertBorderWidth: number
    alertFrame: Graphics

    警戒を示す枠。明滅は濃さのtweenだけで見せ、毎フレーム描き直さない。

    alertOutlineWidth: number

    警戒の枠の下に敷く暗い線の太さ(枠より少し太い)。

    bar: Graphics
    barHeight: number
    barWidth: number
    blinkTween: Tween | undefined
    borderColor: number = COLOR.statusBarTrackBorder

    トラックの枠線の色(setBorderColor)。

    borderWidth: number
    fillColor: ((ratio: number) => number) | undefined

    塗りの色の引き方(ProgressBarOptions.fillColor)。

    holding: boolean = false

    帯を動かし始めずに溜めている最中か(setRatioのhold)。

    improving: boolean = false

    直前の変化が好転だったか。帯の色(失った分か、これから満ちる分か)がこれで決まる。

    lagTween: Tween | undefined
    marks: Graphics

    段の目盛りと囲みを描く面。バーの上へ重ねる。

    onCaughtUp: (() => void) | undefined

    追いつき切ったときの通知(ProgressBarOptions.onCaughtUp)。

    radius: number
    ratio: number

    今の値と、そこへ遅れて追いつく側(変化前の値から動き出す)。広い方が帯、狭い方が塗りになるため、 悪化では塗りが先に動いて帯が残り、好転では帯が先に伸びて塗りが後から満ちる。どちら向きの変化でも 「変わった分」が帯として読める(StatusArea.md)。

    shownRatio: number
    stageBoxWidth: number
    steady: boolean

    危険域でも明滅させないか(ProgressBarOptions.steady)。

    tickWidth: number
    worsensUpward: boolean

    増えるほど悪い値か(PropertyDef.worsensUpward)。帯をどちら向きに出すかが変わる。 同じバーの枠(ProgressBar)を差し替えのたびに使い回す側(Card.gaugeBars)は、映すものが 変わるたびにこれも渡し直す(setWorsensUpward)ため、readonlyにはしない。

    • トラック → 変化の帯 → 塗り → 枠線の順に重ねる。帯は塗りより広い側なので、はみ出した分だけが見える。

      戻り値 void

    • 渡した値に対して、帯がまだ追いついていないか(=そこへ動かすとまだ見せる変化が残るか)。 見せ終わるまで消したくない側が、消す前に訊く(StatusBar.wouldShowChangeFor)。

      パラメータ

      • ratio: number

      戻り値 boolean

    • 段の境目を刻み、今いる段を囲む(Windows.md 8.1節)。 全部の段を刻むのは、次の段までの距離だけでなく「このステータスは全部で何段あって、自分は 何番目か」も読めるようにするため。段を持たないバーでは呼ばれない。

      パラメータ

      • boundaries: readonly number[]
      • span: BarSpan | undefined

      戻り値 void

    • 今どの域にいるかを伝える。塗りの色(statusFillColorFor)が変わり、危険域・致命的域では枠が明滅する (StatusArea.md)。域を持たないバー(探索率)は安全域のままで、緑の塗りになる。

      パラメータ

      戻り値 void

    • トラックの枠線の色を変える。周りの意匠に合わせる必要がある置き場所が渡す——カードの状態バーは 札の縁と同じ色で、種別(アイテム・動物・怪我…)ごとに変わる(CardView.md 8節)。

      パラメータ

      • color: number

      戻り値 void

    • 満たされ具合を変える。変わった分を帯として見せるかは、このバーが決める——showChangeを立てて あっても、差し替える前から見えていなかったバーには出さない。見えていなかった間に進んだ分を今この 瞬間の変化として出してしまうため(安全域から現れた行が、満タンからいきなり減ったように見えていた)。

      帯は変わった分を残し、少し遅れて追いつかせる(格闘ゲームの体力バーと同じで、どれだけ変わったのかを 目で追えるようにするため)。動くのは常に変化前の値の側で、今の値の側はすぐそこへ移る——値そのものは 待たせず、変化の量だけを目で追わせる。結果として、増えたときは帯が先に伸びて塗りが後から満ち、 減ったときは塗りが先に縮んで帯が後から追いつく。良し悪しを表すのは帯の色だけ(悪化なら赤、好転なら 塗りを薄めた色)。

      holdは「まだ値が動き続けている最中か」。trueの間は追いつかせず、帯を動き始めの位置に残したままに するので、何度かに分けて変わった分が合計として読める(StatusArea.md)。 holdをfalseに戻した時点から動き始めるため、値が変わらないtrue→falseの呼び出しにも意味がある。

      パラメータ

      • ratio: number
      • options: { hold?: boolean; showChange?: boolean } = {}

      戻り値 void

    • 増えるほど悪い値かを変える。次にsetRatioで変化を見せるときの帯の向きにだけ効く—— 今の見た目(draw)はこれ単独では変わらないので、呼び直しは要らない。同じバーの枠を差し替えの たびに使い回す側(Card.gaugeBars)が、映すものが変わるたびに渡し直す。

      パラメータ

      • worsensUpward: boolean

      戻り値 void

    • 割合(0〜1)がバーの中で置かれる画面上のx。段の名札を指す先へ向けるために使う。

      パラメータ

      • ratio: number

      戻り値 number