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

    クラス World

    world(唯一のシングルトン、GameElementDefinition.md 15節)の包み(ObjectWrapper)。

    worldがどのプロパティを持つべきかはまだ確定していないため、既存のサンプルに登場済みのものだけを実装している。

    包めるのは、セッションが結び付けたworldだけ(WorldSession.createWorld)。結び付いていない worldを包むと、時計を持たないセッションの物を時計付きとして扱うことになる。

    階層 (一覧を見る)

    インデックス
    codex: WorldCodex
    instance: WorldObject
    • get ambientBrightness(): number | undefined

      樹冠も地面の反射も無い場所の、今の明るさ(IlluminationSystem.md 2節)。EVスケール(同1節)で、 太陽高度と天気の寄与が重なった実効値。夜は底(-6)へ均される。 worldが明るさを持たなければundefined。

      戻り値 number | undefined

    • get rawMinutesPerTick(): number

      1tickに相当するゲーム内時間(分)。実体値をそのまま返す(WorldSession.advanceWorldTime参照)。

      戻り値 number

    • get totalMinutes(): number

      day 1の0:00から数えた通算分(dayは1始まりなので0起点へ直す)。時間の経過そのものを1つの数として 扱いたい場面——経過量を求める・その分だけ実時間をかけて時計を進める——のための読み取り。

      戻り値 number

    • get weather(): string | undefined

      今の天気の識別子(light_rainなど、ClimateSystem.md 4.2節)。シンボル型プロパティ(6.6節) なので、実体は値の名前空間(symbolNames)が持つ名前を引き直したもの。worldが天気を 持たなければundefined。

      戻り値 string | undefined

    • minuteへamountを加減算する(WorldSession.advanceWorldTime専用。負の値も許容する)。繰り上げ(on_max)はtickを待たずその場で走る(PropertyValue.add参照)。

      パラメータ

      • amount: number

      戻り値 void

    • 今から数えてn回目のtickが回るまでの分数。tickが回るのは通算分がminutes_per_tickの倍数になる 瞬間なので、ちょうど境界の上に居るなら次の1回はまるまるminutes_per_tick分先になる。

      時間を進める側(WorldSession.advanceWorldTime)も、tick境界でしか起きないことの残り時間を出す側 (火にかけた物の焼き上がり、CardView.md 15節)も、この1つの答えから出す——tickがいつ回るかの 決まりを2箇所に書くと、片方だけ変えても何も壊れない。

      パラメータ

      • n: number

      戻り値 number

    • 現在時刻を、その日のearliestMinutes〜latestMinutes(0:00からの経過分、両端を含む)の中から tick刻み(minutes_per_tick)で1つ選んで設定する(NewGame.startNewGame専用)。

      tickが回るのは絶対時刻がminutes_per_tickの倍数になる瞬間(WorldSession.advanceWorldTime)なので、 刻みに乗らない時刻から始めると、以後ずっとtick境界が半端な時刻へずれる。

      パラメータ

      • earliestMinutes: number
      • latestMinutes: number
      • rng: Rng

      戻り値 void

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

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

      パラメータ

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