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

    インターフェイス CardSource

    ShownCardsが画面の外から読むもの。行動のたびに作り直される値もあるので、すべて呼び出しで受け取る。

    interface CardSource {
        cardOfObjects: (objects: readonly WorldObject[]) => ObjectCardStack;
        combinationOf: (
            dragged: ObjectCardStack,
            target: ObjectCardStack,
            count?: number,
        ) => CardCombination | undefined;
        filter: () => CardFilter | undefined;
        midAction: () => boolean;
        onEdgeMove: (
            card: ObjectCardStack,
            direction: CardEdgeDirection,
            move: () => void,
        ) => void;
        onOpenCard: (card: ObjectCardStack) => void;
        places: ScreenPlaceResolver;
        stacksIn: (place: Slot) => readonly (ObjectCardStack | undefined)[];
        visible: (object: WorldObject) => boolean;
        windowPlace: () => Slot | undefined;
    }
    インデックス
    cardOfObjects: (objects: readonly WorldObject[]) => ObjectCardStack

    挙げた個体だけを映すカード(PlayScreenView.cardOfObjects)。

    combinationOf: (
        dragged: ObjectCardStack,
        target: ObjectCardStack,
        count?: number,
    ) => CardCombination | undefined

    重ねたときの組み合わせ(PlayScreenView.combinationOf)。countはまとめて実行する個数。 成立するとは限らない——理由を告げて断るものはenabledがfalseで返る(CardInteraction.md 2.1節)。

    filter: () => CardFilter | undefined

    今選ばれている絞り込み(何も選んでいなければundefined、ScreenLayout.md 8.1節)。選ぶのは プレイヤーで、世界の状態ではないので、行動のたびではなくボタンを押したときだけ変わる。

    midAction: () => boolean

    行動の途中の値を見せている最中か。札の上の状態バーは、減った分の帯を縮めずに溜める (ShownStatusesのmidActionと同じ)。

    onEdgeMove: (
        card: ObjectCardStack,
        direction: CardEdgeDirection,
        move: () => void,
    ) => void

    その札の端を押した。moveはその向きへの移動(edgeMoveAction)で、実行するのは呼び出し側 ——世界を変えた後に何をどう見せるかは画面の仕事だから。

    onOpenCard: (card: ObjectCardStack) => void

    その札を押した(押した先で何が開くかは画面の仕事)。演出中に何もしないのも呼び出し側 ——並んでいる札が古い対象を指していないかは、画面が持つ演出の状態にしか分からない。

    画面の区画が今映しているスロット。端の行き先はレーンの並びで決まるので、設置物レーンが 外側の場所を映していれば、上へ送る先もその外側になる(ScreenLayout.md 7.1.1節)。

    stacksIn: (place: Slot) => readonly (ObjectCardStack | undefined)[]

    その場所にワールドが持っている束(持ち出されている札を引く前)。

    visible: (object: WorldObject) => boolean

    その物が現在地から見えるか(PlayScreenView.visible)。見えない物は画面のどこにも出さない。

    windowPlace: () => Slot | undefined

    子ウィンドウが映しているスロット(映していなければundefined)。端の行き先の候補に入る。