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

    インターフェイス CardCombination

    カードを重ねたときのcombination(GameElementDefinition.md 12節)。宣言されている操作なので 名前が必ずある。実行できるとは限らない——理由を宣言している要件で落ちているものは、その理由を 見せて断るために返る(enabled・reason)。

    interface CardCombination {
        description: string | undefined;
        enabled: boolean;
        execute: () => void;
        maxCount: number;
        minutes: number;
        movedIds: readonly number[];
        name: string;
        reason: string | undefined;
    }

    階層 (一覧を見る)

    インデックス
    description: string | undefined

    説明文。localeに書かれていなければundefined。

    enabled: boolean

    今この操作の要件(14節)を満たしているか。falseなら落としても何も起きない。

    execute: () => void

    実行する。ワールドを変えるだけで、画面への反映は呼び出し側の責務。

    maxCount: number

    まとめて起こせる最大数。ドラッグ中に何枚ついてくるかを決めるのに使う(CardDragController)。 これを問うのは枚数が決まる前なので、返るのは「今の枚数で起きること」ではなく上限そのもの。

    minutes: number

    起こすのにかかるゲーム内時間(分)。時間を消費しないものは0。

    movedIds: readonly number[]

    動く個体のID(先頭が指の掴んでいたもの)。画面の移動アニメーション(MotionContext.released)が これを追う——ワールドが動かすものと画面が飛ばすものを食い違わせないため。

    name: string

    吹き出しに出す名前。名前も時間も宣言していない枠ではundefined——ただ位置が変わるだけの移動に 説明は要らない。

    reason: string | undefined

    満たしていない要件が宣言している理由の文言(14.6節)。宣言が無ければundefined。