Release Healer Man 0.1.22
This commit is contained in:
1 parent
f6f2375145
commit
7f6001723a
144 files changed
+54107
-690
No files matched your search
@@ -6,17 +6,27 @@ import {
|
||||
} from "./manastormStageAssets";
|
||||
|
||||
let initialized = false;
|
||||
const generatedPackages = registry.packages as unknown as readonly ManastormStageAssetPackage[];
|
||||
|
||||
export const GENERATED_MANASTORM_STAGE_ASSET_PACKAGE_COUNT = registry.packages.length;
|
||||
|
||||
/** Resolves a runtime stage package to its independently downloadable content pack. */
|
||||
export function generatedManastormContentPackId(assetPackageId: string): string | null {
|
||||
const assetPackage = generatedPackages.find((candidate) => candidate.id === assetPackageId);
|
||||
const assetUrl = assetPackage?.visual[0]?.url
|
||||
?? assetPackage?.collision[0]?.url
|
||||
?? assetPackage?.navigation.url;
|
||||
const directory = /^\/assets\/game\/manastorm\/([^/]+)\//.exec(assetUrl ?? "")?.[1];
|
||||
return directory ? `manastorm:${directory}` : null;
|
||||
}
|
||||
|
||||
export function registerGeneratedManastormStageAssets(): readonly string[] {
|
||||
const packages = registry.packages as unknown as readonly ManastormStageAssetPackage[];
|
||||
if (initialized) return Object.freeze(packages.map((assetPackage) => assetPackage.id));
|
||||
if (initialized) return Object.freeze(generatedPackages.map((assetPackage) => assetPackage.id));
|
||||
if (registry.schemaVersion !== MANASTORM_STAGE_ASSET_SCHEMA_VERSION) {
|
||||
throw new Error(`Unsupported generated Manastorm asset registry schema ${registry.schemaVersion}.`);
|
||||
}
|
||||
const registered: string[] = [];
|
||||
for (const assetPackage of packages) {
|
||||
for (const assetPackage of generatedPackages) {
|
||||
registerManastormStageAssetPackage(assetPackage);
|
||||
registered.push(assetPackage.id);
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user