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

    クラス PlayScreenLayout

    プレイ中の画面(ScreenLayout.md)の各エリアの位置・大きさ。 縦型・横型で同じエリアを配置し直すだけという設計原則に合わせ、同じプロパティ名で両方の向きを表す。

    区画はどれも公開する。 画面が置き場として読むのは一部(characterDisplay・statusRowsArea など) だが、隠すと外から言えなくなる関係が混じっている——statusRowsArea が statusArea からどれだけ内側かを 決める STATUS_PADDING はこのファイルの中なので、statusArea を隠すとその内側の取り方が消える。 区画ごとに見せる/見せないを分けないのは、分けると読む側が毎回「この区画は在るのか」を確かめる ことになるため。

    インデックス
    characterDisplay: Rect
    fieldArea: Rect
    fieldLeftSeparator: Rect | undefined

    フィールドエリアと、その左に並ぶもの(状況エリア・本)の境目に敷く、縦向きの帯(横型のみ)。

    状況エリアの右辺ではなくフィールドエリアの左辺に置く。 右サイドバーとの境目 (sidebarSeparator)と同じく、フィールドエリアの辺として一貫させるため。本のページはこの帯より 手前に置かれるので、帯は本の縁で自然に終わる。

    filterBar: Rect
    informationArea: Rect

    情報エリア。フィールドエリアの左(横型)・上(縦型)に置かれるキャラクターエリアの全体。 1枚の紙の背景として塗るための矩形なので、内訳の各エリアとは別に持つ。

    informationContent: Rect

    情報エリアのうち、中身を置ける範囲(背景のページの紙の内側)。内訳の各エリアはこの中に収まる。 情報エリアそのものとの差が、本の縁のぶんの余白(INFORMATION_PAPER_INSET)。

    informationDivider: Rect

    情報エリアの中を仕切る区切り線。背景が1枚の紙になり、エリアごとの塗り分けが無くなったため、 意味のまとまり(キャラクター/ステータス)の境目だけを線で示す。見た目は現在地カードの右の 区切り線と同じ(CardLane.addPinnedCell)。

    状況エリアとの境目には引かない。空のパネルが自分の縁を持っていて、それが境目を兼ねるため。

    lanes: readonly Rect[]

    上から設置物・アイテム・ハンドの3レーン。

    laneSeparators: readonly Rect[]

    レーンの区切りに敷く帯。上から順に、設置物レーンの上・レーン間×2・ハンドレーンの下。

    metrics: ScreenMetrics
    optionsBar: Rect
    optionsBarSeparator: Rect | undefined

    オプションバーと状況エリアの境目に敷く帯(縦型のみ。横型のオプションバーは右サイドバーで、 状況エリアと接していないためundefined)。

    sidebarSeparator: Rect | undefined

    フィールドエリアと右サイドバー(オプション/フィルター)の境目に敷く、縦向きの帯(横型のみ)。 縦型はこれらが接していないためundefined。

    situationArea: Rect

    空を敷く帯。日時のフリップカードと天候名はこの中に載る(向きによらず1本)。 本の外なので、情報エリアには含まれない。

    situationSeparator: Rect | undefined

    状況エリアと本の境目に敷く帯(縦型のみ。横型では両者が上下に並ばないためundefined)。

    slotWindowArea: Rect

    ハンドレーンを覆わない子ウィンドウ(装備・怪我・コンテナ)の置き場所。手持ちとカードを やり取りする操作があるため、開いている間も手持ちが見えている必要がある。

    statusArea: Rect
    statusRowsArea: Rect

    ステータスエリアのうち、バーを並べる範囲(内側パディングを引いたもの)。

    • get laneCells(): number

      組み上がったフィールドエリアで、1つのレーンに一度に見えている枠の数(laneCellsIn)。

      戻り値 number

    • バーの中に一列に並ぶアイコンボタン。並ぶ向きはバーの向きが決める(横型は右サイドバーの 縦積み、縦型は帯の横並び)。交差する向きには常に中央へ置くので、バーごとの差は並ぶ向きの中での 寄せ方と余白だけ。

      寄せ方が効くのは余りがあるときだけで、収まらないなら常に先頭から並べる。中途半端な位置から 始めると、送り切っても先頭のボタンがバーの外に残る。

      パラメータ

      • bar: Rect
      • count: number
      • align: BarAlign
      • padding: number

      戻り値 BarIconRow

    • レーンの区切りの帯(ScreenLayout.md 7.6節 エリアの区切り)。

      帯は絵の中央半分だけが区切りそのもので、上下1/4ずつは隣のレーンへかぶせる前提で描かれている。 そのため高さはレーンの隙間の2倍を取り、隙間の中心線に対して上下対称に置く。

      戻り値 readonly Rect[]

    • オプションバーに並ぶアイコンボタン。横型は高さいっぱいの中央へ、縦型は右端へ寄せる。

      既定はバーの寸法を決めたのと同じ並び(OPTION_ICONS)なので、呼び手は数を数えない。 別の数を渡せば、収まらない分は送って読む(barIcons)。

      パラメータ

      • count: number = OPTION_ICONS.length

      戻り値 BarIconRow