樹冠も地面の反射も無い場所の、今の明るさ(IlluminationSystem.md 2節)。EVスケール(同1節)で、 太陽高度と天気の寄与が重なった実効値。夜は底(-6)へ均される。 worldが明るさを持たなければundefined。
1tickに相当するゲーム内時間(分)。実体値をそのまま返す(WorldSession.advanceWorldTime参照)。
day 1の0:00から数えた通算分(dayは1始まりなので0起点へ直す)。時間の経過そのものを1つの数として 扱いたい場面——経過量を求める・その分だけ実時間をかけて時計を進める——のための読み取り。
今の天気の識別子(light_rainなど、ClimateSystem.md 4.2節)。シンボル型プロパティ(6.6節)
なので、実体は値の名前空間(symbolNames)が持つ名前を引き直したもの。worldが天気を
持たなければundefined。
minuteへamountを加減算する(WorldSession.advanceWorldTime専用。負の値も許容する)。繰り上げ(on_max)はtickを待たずその場で走る(PropertyValue.add参照)。
保護contents保護effective今から数えてn回目のtickが回るまでの分数。tickが回るのは通算分がminutes_per_tickの倍数になる 瞬間なので、ちょうど境界の上に居るなら次の1回はまるまるminutes_per_tick分先になる。
時間を進める側(WorldSession.advanceWorldTime)も、tick境界でしか起きないことの残り時間を出す側 (火にかけた物の焼き上がり、CardView.md 15節)も、この1つの答えから出す——tickがいつ回るかの 決まりを2箇所に書くと、片方だけ変えても何も壊れない。
現在時刻を、その日のearliestMinutes〜latestMinutes(0:00からの経過分、両端を含む)の中から tick刻み(minutes_per_tick)で1つ選んで設定する(NewGame.startNewGame専用)。
tickが回るのは絶対時刻がminutes_per_tickの倍数になる瞬間(WorldSession.advanceWorldTime)なので、 刻みに乗らない時刻から始めると、以後ずっとtick境界が半端な時刻へずれる。
保護stacks名指しの枠の中身を、積み重なっているまとまりごとに分けたものの写し(Slot.stacks)。宣言して いなければ空。
平らに返す口(contentsOf)と別に持つのは、1枚に2個と2枚に1個ずつを区別するため。 束ねる/ 束ねない(stackable)の決まりが守られているかは、この分かれ方でしか確かめられない。
保護try名指しのプロパティの実効値。宣言していなければundefined——0と区別したい問いだけが使う。
world(唯一のシングルトン、GameElementDefinition.md 15節)の包み(ObjectWrapper)。
worldがどのプロパティを持つべきかはまだ確定していないため、既存のサンプルに登場済みのものだけを実装している。
包めるのは、セッションが結び付けたworldだけ(WorldSession.createWorld)。結び付いていない worldを包むと、時計を持たないセッションの物を時計付きとして扱うことになる。