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

    agent(プレイヤーキャラクター、GameElementDefinition.md 8.1節・11節)に対する、UI/ゲームロジック向けの型付き ビュー。Worldと同じ理由で継承ではなくラップにしている。

    キャラクタの値を名前で引く口は、ここには置かない。 画面はstatusタグの付いたプロパティを 宣言順に束ねて並べる(PlayScreenView)ので、hpのような名前を知っている読み手がゲーム側に居ない。

    階層 (一覧を見る)

    インデックス
    codex: WorldCodex
    instance: WorldObject
    • get handStacks(): readonly (readonly WorldObject[])[]

      手持ちスロットの各セルの中身の写し(空きセルは空配列、先頭が代表。SlotSystem.md 1節)。固定枠 スロットのため、配列長は常にcellCountと等しく、位置=添字が安定する(同 3節)。 スロット自体を持たないcodexでは空配列。

      代表だけを返すhandでは見えない面——同じ枠に何個重なっているかは、こちらでしか数えられない。

      戻り値 readonly (readonly WorldObject[])[]

    • 今いる土地を1回探索する(Location.explore)。土地に居ない・探索できない土地ならfalse。 「自分をagentとして自分の居場所へ渡す」手順を呼び出し側に持たせないための入口。

      戻り値 boolean

    • 名指しの枠の中身を、積み重なっているまとまりごとに分けたものの写し(Slot.stacks)。宣言して いなければ空。

      平らに返す口(contentsOf)と別に持つのは、1枚に2個と2枚に1個ずつを区別するため。 束ねる/ 束ねない(stackable)の決まりが守られているかは、この分かれ方でしか確かめられない。

      パラメータ

      戻り値 readonly (readonly WorldObject[])[]

    • アイテムを手持ちスロットへ入れる。手持ちが受け入れられなければ(枠の型・枠数の上限)false。

      atは枠の中の位置(SlotPosition)。隙間を指せばその位置へ既存の枠を押し出して入れ、空き枠を指せば その枠へ入る(埋まっていればfalse)。省略すると最初の空き枠へ入る。

      パラメータ

      戻り値 boolean