Archived
Private
Public Access
1
0
This repository has been archived on 2026-02-04. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
ProjectBackup/C#/TSEngine/Core/Assets/jsonAssetLoader.ts
2022-09-04 12:45:01 +02:00

39 lines
1.1 KiB
TypeScript

namespace TSE {
export class JsonAsset implements IAsset {
public readonly name: string;
public readonly data: any;
public constructor(name: string, data: any) {
this.name = name;
this.data = data;
}
}
export class JsonAssetLoader implements IAssetLoader {
public get supportedExtensions(): string[] { return ["json"] }
public loadAsset(assetName: string): void {
let request: XMLHttpRequest = new XMLHttpRequest();
request.open("GET", assetName);
request.addEventListener("load", this.onJsonLoaded.bind(this, assetName, request));
request.send();
}
private onJsonLoaded(assetName: string, request: XMLHttpRequest): void {
console.log("onJsonLoaded: assetName/request", assetName, request);
if (request.readyState === request.DONE) {
let json = JSON.parse(request.responseText);
let asset = new JsonAsset(assetName, json);
AssetManager.onAssetLoaded(asset);
}
}
}
}