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

    インターフェイス SlotView

    その場所を1つの並び(レーン・子ウィンドウのタブ)として見せるのに要るもの一式。1つの場所に ついて知りたいことは1つの問い合わせで揃う——ばらばらに訊くと、場所を映す先を足すたびに 訊く手順も増える(Windows.md 1節、ObjectWindowViewと同じ形)。

    並ぶ札は含めません。 画面に出る札は、貸し出している1枚を引き算した後のもの(ShownCards)で、 ワールドがそう持っている並び(cardsIn)をそのまま描くことは無い。

    interface SlotView {
        acceptsCards: boolean;
        background: SlotRef | undefined;
        cells: number | "grows";
        key: string;
        label: string;
        materials: readonly CraftingMaterial[] | undefined;
        typesShownInEmptyCells: readonly (readonly ObjectGlobalId[])[];
    }
    インデックス
    acceptsCards: boolean

    カードを受け入れるか(怪我のような読み取り専用の場所はfalse)。中身が空でも「落とせる場所か どうか」を見せるために、受け皿の空枠を出すかの判断に使う。

    background: SlotRef | undefined

    レーンの全面に敷く絵を引く先(backgroundArt参照)。どのスロットにどの絵を敷くかは、画面側では なく絵のファイル名が決める。

    cells: number | "grows"

    そのスロットが空けておく枠(SlotDef.cellCountPolicy、SlotSystem.md 3節)。1枠しか無い場所に4枠空けると 「4つ入る」と誤って伝わるので、数を宣言しているならその数。

    枠数を宣言していないスロットは'grows'——カードを落とすたびに枠が1つ増えるので、空けておく のは増える先の1つだけ(plainCells)で、レーンの幅も増える前提で取る(SlotPane.width)。 中身のかさの合計の上限(capacity)とは別物。

    key: string

    その場所が映しているスロットの識別子(スロット名)。表示名ではなく識別子で、子ウィンドウの タブの記憶(Settings.openedTab)の鍵になる——言語で変わる表示名を鍵にはできない。

    label: string

    タブの見出しに出す、そのスロットの表示名。持ち主は込めません——持ち主の名前はウィンドウの 見出しに既に出ているので、タブにまで繰り返す場所が無い。

    materials: readonly CraftingMaterial[] | undefined

    製作中オブジェクトの材料スロットなら、要求している型ごとの枠(そうでなければundefined)。 並びは要求の順で、もう要求されない型は挙げません(craftingMaterials)。

    typesShownInEmptyCells: readonly (readonly ObjectGlobalId[])[]

    枠ごとに、その枠が空いているときに薄く敷く型(typesShownInEmptyCells、CardView.md 11節)。 位置で引くのは、同じ並びの中で枠によって受け入れの宣言が違うスロットがあるため(炉の火の中と 石の上)。敷かない枠は空で、どの枠も同じ宣言を持つスロットではこの並び自体が空になります。