mirror of
https://github.com/gab9281/MakeItAsSet.git
synced 2026-01-02 17:28:25 -05:00
49 lines
1.3 KiB
JavaScript
49 lines
1.3 KiB
JavaScript
let characters = new Map();
|
|
|
|
async function downloadCharacters(){
|
|
let response = await fetch("./characters.json");
|
|
let char_array = await response.json();
|
|
|
|
for(let c of char_array){
|
|
c._audio = null;
|
|
Object.defineProperty(c, "audio", {
|
|
get : () => {
|
|
if(this._audio == null){
|
|
c._audio = new Audio(c.select_sound.url);
|
|
}
|
|
return c._audio;
|
|
}
|
|
});
|
|
|
|
characters.set(c.name,c);
|
|
}
|
|
|
|
return characters;
|
|
}
|
|
|
|
function createElement(tag,options){
|
|
let elem = document.createElement(tag);
|
|
return Object.assign(elem,options);
|
|
}
|
|
|
|
(async function(){
|
|
await downloadCharacters();
|
|
|
|
for(let c of characters.values()){
|
|
let rootelem = document.createElement('div');
|
|
|
|
let name = createElement('p',{innerHTML:c.name});
|
|
let desc = createElement('p',{innerHTML:c.description});
|
|
let small = createElement('img',{src:c.portrait});
|
|
let big = createElement('img',{src:c.large});
|
|
let icon = createElement('img',{src:c.serie_icon});
|
|
let audioCtrl = createElement("button",{innerHTML:"Sound",onclick:()=>{c.audio.play()}});
|
|
|
|
rootelem.append(name,desc,small,big,icon,audioCtrl)
|
|
|
|
document.body.append(rootelem);
|
|
}
|
|
})();
|
|
|
|
|
|
|