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

    インターフェイス MotionInput<C, R>

    interface MotionInput<C, R> {
        aloft?: readonly number[];
        arriving: readonly PlacedCard<C, R>[];
        before: readonly PlacedCard<C, R>[];
        born?: readonly number[];
        left: readonly { card: C; ids: readonly number[] }[];
        lunges?: ReadonlyMap<number, readonly number[]>;
        origins?: ReadonlyMap<number, R>;
        released?: { ids: readonly number[]; rect: R };
        staying: readonly PlacedCard<C, R>[];
        vanished?: readonly number[];
    }

    型パラメーター

    • C
    • R
    インデックス
    aloft?: readonly number[]

    今その枠へ運ばれている最中・その枠から持ち出されているインスタンス(飛んでいる便・落としたまま 置いてある札)。まだ枠には居ないので数から引き、新しい便も立てない——運びはもう始まって いるので、行き先だけを答える(landings)。

    arriving: readonly PlacedCard<C, R>[]

    差し替えで枠の外から所定の位置へ動かすカード(新しく現れたもの・掴んで離したまま残ったもの)。 処理順がそのまま、生まれたものが飛び立つ順になる。

    before: readonly PlacedCard<C, R>[]

    差し替え前にレーンに居たカード。

    born?: readonly number[]

    世界に生まれたインスタンス。こちらもbeforeに居ないだけでは区別できない(移ってきた物と同じ)。

    left: readonly { card: C; ids: readonly number[] }[]

    居なくなったカード。

    lunges?: ReadonlyMap<number, readonly number[]>

    突進した個体と、手を出した相手の候補(changedInstances.lungeTargetsByInstance)。相手を1つに 決めるのはここ——画面に出ている候補を選ぶ。1つも出ていなければ突進は立たない。

    origins?: ReadonlyMap<number, R>

    差し替え前に画面のどこにも無かったインスタンスの出発点を、そのインスタンスごとに引いたもの (MotionContext.origins)。持たないインスタンスは、出どころが分からないものとして扱う。

    released?: { ids: readonly number[]; rect: R }

    手から放したインスタンスたちと、手を離した場所。ついてきて一緒に落とされたぶんも、指の下に 居たのだから同じ場所から動き出す。heldIdが混ざっていてもよい——そちらの規則が先に効く。

    staying: readonly PlacedCard<C, R>[]

    差し替え後も居続けるカード。カード自身は滑って動く(CardLane)ので、飛ぶのは移ったインスタンスだけ。

    vanished?: readonly number[]

    世界から出たインスタンス(壊れた・使い切った)。leftでは代われない——別のレーンへ移った だけのカードもそこに並ぶので、消えたのか運ばれたのかは世界の変化だけが知っている。