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

    クラス TypeMatchRule

    「どの型が当てはまるか」の指定(GameElementDefinition.md 4.1節)。

    タグで指せば、そのタグを持つあらゆる型(MOD追加分も含む)が当てはまる。object_defのidで指せば まさにその型だけが当てはまり、そのためだけの単発タグを新設せずに済む。trait名では直接 マッチングしない(traitはmixin合成後に消えるため、外部から参照すべきではない)。

    否定(not)は、この指定そのものを裏返す。 条件(conditions、14節)のnotが真偽を裏返すのとは 掛かる先が違い、{slot: items, matches: {not: {tag: quarry}}}は「quarryでない物が1つはある」、 not: {slot: items, matches: {tag: quarry}}は「quarryが1つも無い」になる。

    インデックス

    この指定の宣言そのもの(TypeMatchReading参照)。この規則が持つのはこれだけ。

    • get canBePictured(): boolean

      この指定を、当てはまる型のカードで見せられるか。否定形(not)では見せられない ——「そのタグを持たない型すべて」を順に送っても、何を持ってくればよいかを言わない。

      持つのは規則の側。 否定を書ける場所(枠のaccept、7.2節)から絵を出す側が、毎回 読み上げ(reading)の形を自分で見分けることになるのを避ける。

      戻り値 boolean

    • get key(): string

      同じ指定どうしをまとめるための鍵。タグとobject_defはIDの空間が別なので、種類を混ぜて比べない ようにここで前置きを付ける(レシピの要求を型ごとに畳むのに使う、crafting.remainingRequirementsOf)。

      戻り値 string

    • タグならcandidateがそのタグを持てば真、object_defならまさにその型であれば真。

      パラメータ

      戻り値 boolean

    • この指定に当てはまる型を全部挙げる。当てはまるものを数え上げるだけで、それが1つに定まるかも、 絵にできるかも見ない。

      1つに定まらない指定(タグ)を絵で見せるのに使うなら、先にcanBePicturedで見分ける。

      パラメータ

      戻り値 readonly ObjectDef[]

    • 読み上げた指定(TypeMatchReading)が、その型に当てはまるか。判定はmatchesそのもので、 宣言を読み下す側——条件の木(ConditionReader)のように、規則そのものではなく読み上げだけを 受け取る読み手——から同じ問いを立てられるようにここへ置いてある。

      パラメータ

      戻り値 boolean

    • 枠のaccept(7.2節)として書き出した形。レシピの要求から製作中オブジェクトの枠を組み立てる (inProgressObjects)ときに、宣言をYAMLへ戻すために使う。

      パラメータ

      戻り値 AcceptSpec