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/imageAssetLoader.ts
2022-09-04 12:45:01 +02:00

42 lines
1.1 KiB
TypeScript

namespace TSE {
export class ImageAsset implements IAsset {
public readonly name: string;
public readonly data: HTMLImageElement;
public constructor(name: string, data: HTMLImageElement) {
this.name = name;
this.data = data;
}
public get width(): number {
return this.data.width;
}
public get height(): number {
return this.data.height;
}
}
export class ImageAssetLoader implements IAssetLoader {
public get supportedExtensions(): string[] { return ["png", "gif", "jpg", "jpeg"] }
public loadAsset(assetName: string): void {
let image: HTMLImageElement = new Image();
image.onload = this.onImageLoaded.bind(this, assetName, image);
image.src = assetName;
}
private onImageLoaded(assetName: string, image: HTMLImageElement): void {
console.log("onImageLoaded: assetName/image", assetName, image);
let asset = new ImageAsset(assetName, image);
AssetManager.onAssetLoaded(asset);
}
}
}