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

    クラス ObjectRef

    オブジェクトそのものを1つ指す参照(destroyの対象・moveのsubjectと移動先、9.3節・9.6節)。 指し方は分かれるが、どれも「1つのオブジェクトへ解決する」という同じ役目を持つ。

    • 対象キー: 定義時点で決まっている相手。どれを書けるかは、その宣言が置かれた場所が決める (parseObjectRoot。一覧は9.3節が指す14.1節の表)。
    • プロパティ({subject, prop}、subject省略時はself): その実効値をインスタンスIDとして解釈した 相手。定義時点では決まらず実行時に確定する個体(道が指す土地、amongが選んだ相手の行き先)を 指す(ExplorationSystem.md 3節)。
    • 型({object: ...}): 世界にただ1つ在る型(singleton、15節)のそのインスタンス。生成時に 確定する個体ではなく、定義の時点で名前の分かっている場所(海区・本土、Voyage.md)を指すためのもの。
    • 型を値に持つプロパティ({prop: ...}、6.9節): そのプロパティが持つ型のインスタンス。探すのは 1つ上と同じで、違うのは型の名前をその場に書くか、プロパティから引くかだけ。

    解決できない場合(プロパティを持たない・そのIDの個体が世界のどこにも居ない・その型が世界に居ない)は undefinedで、呼び出し側は「解決できない適用は無視」の既存規約(9.1節)に従う。

    インデックス
    objectGlobalId: ObjectGlobalId | undefined

    型で指す参照ならそのobject_defのグローバルID、それ以外はundefined。

    path: PropertyPath | undefined

    プロパティで指す参照ならその参照、それ以外はundefined。実効値の読み方はkindが決める。

    pathHoldsObjectDef: boolean

    pathの実効値を、インスタンスIDではなく型として読むか(6.9節)。

    root: ReferenceRoot | undefined

    対象キーで指す参照ならその起点、それ以外はundefined。

    • 今の文脈で指している相手。プロパティで指す参照は、所属ツリーの根から実効値と同じinstanceIdを 持つ子孫を探す(moveのto_propが移動先を引くのと同じ引き方)。型で指す参照は、同じ根から その型のインスタンスを探す——型の名前をその場に書いても、プロパティから引いても同じ探索になる。

      パラメータ

      戻り値 WorldObject | undefined