2021-06-30 23:16:45 +00:00
|
|
|
import botonJugarImg from "./assets/boton_jugar.png";
|
|
|
|
import larretaImg from "./assets/Millonario Malo.png";
|
|
|
|
import fondoImg from "./assets/CieloRioCalle.png";
|
|
|
|
import edificiosImg from "./assets/Edificios.png";
|
|
|
|
import jugadorxImg from "./assets/ProtagonistaCorriendo_1.png";
|
|
|
|
import baldosaImg from "./assets/Baldosa.png";
|
|
|
|
import semillaImg from "./assets/Semilla.png";
|
|
|
|
import arbol1Img from "./assets/Árbol 1.png";
|
|
|
|
import arbol2Img from "./assets/Árbol 2.png";
|
2021-06-28 20:28:26 +00:00
|
|
|
|
|
|
|
function loadImage(url: string): Promise<HTMLImageElement> {
|
2021-06-30 23:16:45 +00:00
|
|
|
return new Promise((resolve, reject) => {
|
|
|
|
let img = new Image();
|
|
|
|
img.onload = () => resolve(img);
|
|
|
|
img.onerror = (e) => reject(e);
|
|
|
|
img.src = url;
|
|
|
|
});
|
2021-06-28 20:28:26 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
export const assetUrls = {
|
2021-06-30 23:16:45 +00:00
|
|
|
botonJugar: botonJugarImg,
|
|
|
|
larreta: larretaImg,
|
|
|
|
fondo: fondoImg,
|
|
|
|
edificios: edificiosImg,
|
|
|
|
jugadorx: jugadorxImg,
|
|
|
|
baldosa: baldosaImg,
|
|
|
|
semilla: semillaImg,
|
|
|
|
arbol1: arbol1Img,
|
|
|
|
arbol2: arbol2Img,
|
|
|
|
};
|
|
|
|
export type Assets = { [key in keyof typeof assetUrls]: HTMLImageElement };
|
2021-06-28 20:28:26 +00:00
|
|
|
|
2021-06-30 23:16:45 +00:00
|
|
|
const assets = Object.fromEntries(
|
|
|
|
Object.entries(assetUrls).map(([name, url]) => [name, loadImage(url)])
|
|
|
|
);
|
2021-06-28 20:28:26 +00:00
|
|
|
|
|
|
|
export async function loadAssets() {
|
2021-06-30 23:16:45 +00:00
|
|
|
const imgs = await Promise.all(Object.values(assets));
|
|
|
|
return Object.fromEntries(
|
|
|
|
imgs.map((img, i) => [Object.keys(assetUrls)[i], img])
|
|
|
|
) as Assets;
|
2021-06-28 20:28:26 +00:00
|
|
|
}
|