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

    クラス ObjectStack

    Slot内で「見た目上1つのまとまり」として積み重なる、同じ種類のWorldObjectの集まり (SlotSystem.md 1節)。同じObjectDefのインスタンス同士だけがまとまる(同 5節)。

    インデックス
    _members: WorldObject[]
    objectDefGlobalId: ObjectGlobalId

    このスタックのアイデンティティ(生成時点のseedのObjectDef)。生成後は書き換えない。メンバーの型が 変わって(become、9.9節)合致しなくなった場合に動くのは、そのメンバーの所属スタックであってこの値ではない。

    • get members(): readonly WorldObject[]

      このスタックの中身そのもの(写しではない)。出入りのたびに書き換わるので、読んだ後も顔ぶれを 保ちたい側は自分で写し取る。位置を要さない読み手が写しを欲しいだけなら、写して返す口が Slot側にある(SlotSystem.md 1節)。

      戻り値 readonly WorldObject[]

    • canMergeを満たす場合のみ、ObjectDef.stackOrderに従ったmembers内の位置へ挿入してtrueを返す(並び順が 未定義なら末尾=挿入順)。満たさない場合は何もせずfalse——「同種のみが積み重なる」不変条件を、呼び出し側の 事前確認に依存せずこのメソッド自身が保証する。

      パラメータ

      戻り値 boolean