-
rebuildArtCatalog( catalog: Map<string, string>, bundled: ReadonlyMap<string, string>, packs: readonly PackArt[], kind: string,): void
パラメータ
- catalog: Map<string, string>
- bundled: ReadonlyMap<string, string>
- packs: readonly PackArt[]
- kind: string
戻り値 void
在庫表を「同梱ぶん+載せるパック」へ組み直す(AssetPack.md 4節)。
在庫表は上書きしない。 同じ鍵が既に在ればエラーにする——後から重ねた側が勝つと、どの絵が出るかが 重ねる順という見えない要因で決まる(同6節)。エラーになったパックは定義もろとも外れる(同6.1節。 外すかどうかを決めるのは loadDefinitions で、ここへは載せると決まったパックだけが渡る)。
足すのではなく、同梱ぶんから組み直す。 載せる並びが決まるまでには載せられない組み合わせも試す ので(loadDefinitionsのacceptable)、足すだけだと外したパックの絵が残る。組み直しに失敗したときは 在庫表を触らない——半端に入れ替わった表を誰も期待していない。
ここで衝突しうるのは背景の絵だけ。型の絵の鍵には出所のパックが付く(objectArt)ので、同じ名前を 2つのパックが持っても別の鍵になり、どちらが出るかは定義の出所で決まる(同5節)。