2021-07-05 15:49:06 +00:00
|
|
|
import botonComenzar from "./assets/Comenzar.png";
|
|
|
|
import botonSiguiente from "./assets/Siguiente.png";
|
2021-07-06 17:09:21 +00:00
|
|
|
import botonCompartirPerdiste from "./assets/Comparti_2.png";
|
|
|
|
import botonCompartirFelicitaciones from "./assets/Comparti_1.png";
|
2021-07-06 15:39:21 +00:00
|
|
|
import logoFPGFDTBlanco from "./assets/Logo Blanco.png";
|
2021-07-05 15:49:06 +00:00
|
|
|
import logoSalvaLaCostanera from "./assets/SalvaCostanera.png";
|
|
|
|
import logoSalvaLaCostaneraCostado from "./assets/Salva2.png";
|
|
|
|
import instrucciones1 from "./assets/Instrucciones 1.png";
|
|
|
|
import instrucciones2 from "./assets/Instrucciones 2.png";
|
|
|
|
import instrucciones3 from "./assets/Instrucciones 3.png";
|
2021-07-06 15:39:21 +00:00
|
|
|
import placaPerdiste from "./assets/Perdiste_2.png";
|
|
|
|
import placaFelicitaciones from "./assets/Felicitaciones_2.png";
|
2021-07-05 15:49:06 +00:00
|
|
|
import flecha from "./assets/flecha.png";
|
2021-07-06 17:58:08 +00:00
|
|
|
import dialogoFirma from "./assets/Firmá_2.png";
|
2021-07-05 15:49:06 +00:00
|
|
|
import larreta from "./assets/Larreta.png";
|
|
|
|
import millonarioMalo from "./assets/Millonario Malo.png";
|
|
|
|
import cieloRioCalle from "./assets/CieloRioCalle.png";
|
|
|
|
import cielo from "./assets/Cielo.png";
|
|
|
|
import rio from "./assets/Rio.png";
|
|
|
|
import parquePublicoRio from "./assets/Parque publico con rio.png";
|
|
|
|
import parquePublico from "./assets/Parque publico.png";
|
|
|
|
import edificios from "./assets/Edificios.png";
|
|
|
|
import jugadorx from "./assets/ProtagonistaCorriendo_1.png";
|
|
|
|
import jugadorxPresentando from "./assets/Personaje 1.png";
|
|
|
|
import baldosa from "./assets/Baldosa.png";
|
|
|
|
import semilla from "./assets/Semilla.png";
|
|
|
|
import arbol1 from "./assets/Árbol 1.png";
|
|
|
|
import arbol2 from "./assets/Árbol 2.png";
|
|
|
|
import ciudadanx1 from "./assets/Firma 1.png";
|
|
|
|
import ciudadanx2 from "./assets/Firma 2.png";
|
|
|
|
import ciudadanx3 from "./assets/Firma 3.png";
|
2021-07-06 20:47:00 +00:00
|
|
|
import fondo from "./assets/fondo.ogg";
|
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
|
|
|
}
|
2021-07-06 20:47:00 +00:00
|
|
|
function loadAudio(url: string): Promise<HTMLAudioElement> {
|
|
|
|
return new Promise((resolve, reject) => {
|
|
|
|
let audio = new Audio();
|
|
|
|
audio.oncanplaythrough = () => resolve(audio);
|
|
|
|
audio.onerror = (e) => reject(e);
|
|
|
|
audio.src = url;
|
|
|
|
audio.load();
|
|
|
|
});
|
|
|
|
}
|
2021-06-28 20:28:26 +00:00
|
|
|
|
2021-07-06 20:47:00 +00:00
|
|
|
export const imageAssetUrls = {
|
2021-07-05 15:49:06 +00:00
|
|
|
botonComenzar,
|
|
|
|
botonSiguiente,
|
2021-07-06 17:09:21 +00:00
|
|
|
botonCompartirPerdiste,
|
|
|
|
botonCompartirFelicitaciones,
|
2021-07-05 15:49:06 +00:00
|
|
|
logoFPGFDTBlanco,
|
|
|
|
logoSalvaLaCostanera,
|
|
|
|
logoSalvaLaCostaneraCostado,
|
|
|
|
instrucciones1,
|
|
|
|
instrucciones2,
|
|
|
|
instrucciones3,
|
2021-07-05 16:13:36 +00:00
|
|
|
placaPerdiste,
|
|
|
|
placaFelicitaciones,
|
2021-07-05 15:49:06 +00:00
|
|
|
flecha,
|
2021-07-06 17:58:08 +00:00
|
|
|
dialogoFirma,
|
2021-07-05 15:49:06 +00:00
|
|
|
larreta,
|
|
|
|
millonarioMalo,
|
|
|
|
cieloRioCalle,
|
|
|
|
cielo,
|
|
|
|
rio,
|
|
|
|
parquePublicoRio,
|
|
|
|
parquePublico,
|
|
|
|
edificios,
|
|
|
|
jugadorx,
|
|
|
|
jugadorxPresentando,
|
|
|
|
baldosa,
|
|
|
|
semilla,
|
|
|
|
arbol1,
|
|
|
|
arbol2,
|
|
|
|
ciudadanx1,
|
|
|
|
ciudadanx2,
|
|
|
|
ciudadanx3,
|
2021-06-30 23:16:45 +00:00
|
|
|
};
|
2021-07-06 20:47:00 +00:00
|
|
|
export const audioAssetUrls = {
|
|
|
|
fondo,
|
|
|
|
};
|
|
|
|
|
|
|
|
export type Assets = {
|
|
|
|
[key in keyof typeof imageAssetUrls]: HTMLImageElement;
|
|
|
|
} &
|
|
|
|
{ [key in keyof typeof audioAssetUrls]: HTMLAudioElement };
|
2021-06-28 20:28:26 +00:00
|
|
|
|
2021-07-06 20:47:00 +00:00
|
|
|
const imageAssets = Object.fromEntries(
|
|
|
|
Object.entries(imageAssetUrls).map(([name, url]) => [name, loadImage(url)])
|
|
|
|
);
|
|
|
|
const audioAssets = Object.fromEntries(
|
|
|
|
Object.entries(audioAssetUrls).map(([name, url]) => [name, loadAudio(url)])
|
2021-06-30 23:16:45 +00:00
|
|
|
);
|
2021-06-28 20:28:26 +00:00
|
|
|
|
|
|
|
export async function loadAssets() {
|
2021-07-06 20:47:00 +00:00
|
|
|
const imgs = await Promise.all(Object.values(imageAssets));
|
|
|
|
const audios = await Promise.all(Object.values(audioAssets));
|
|
|
|
return Object.fromEntries([
|
|
|
|
...imgs.map((img, i) => [Object.keys(imageAssetUrls)[i], img]),
|
|
|
|
...audios.map((audio, i) => [Object.keys(audioAssetUrls)[i], audio]),
|
|
|
|
]) as Assets;
|
2021-06-28 20:28:26 +00:00
|
|
|
}
|