SongBg: Add don backgrounds

This commit is contained in:
LoveEevee
2018-12-02 18:25:42 +03:00
parent c00fc0c615
commit f25aee9643
7 changed files with 195 additions and 33 deletions

View File

@@ -16,6 +16,8 @@ class loadSong{
song.songBg = this.randInt(1, 5)
song.songStage = this.randInt(1, 3)
song.donBg = this.randInt(1, 6)
if(song.songSkin && song.songSkin.name){
var imgLoad = []
for(var type in song.songSkin){
@@ -37,6 +39,9 @@ class loadSong{
type: type
})
}
if(type === "song"){
song.songBg = null
}
}
}
var skinBase = gameConfig.assets_baseurl + "song_skins/"
@@ -58,9 +63,8 @@ class loadSong{
}
img.src = skinBase + filename + ".png"
}
}else{
promises.push(this.songBg(id))
}
promises.push(this.loadSongBg(id))
promises.push(new Promise((resolve, reject) => {
var songObj
@@ -89,26 +93,38 @@ class loadSong{
alert("An error occurred, please refresh")
})
}
songBg(){
loadSongBg(){
return new Promise((resolve, reject) => {
var filename = "bg_song_" + this.selectedSong.songBg
if(filename + "a" in assets.image && filename + "b" in assets.image){
resolve()
}else{
var promises = []
for(var i = 0; i < 2; i++){
let filenameAb = filename + (i === 0 ? "a" : "b")
let img = document.createElement("img")
if(this.touchEnabled){
img.crossOrigin = "Anonymous"
}
promises.push(pageEvents.load(img).then(() => {
return this.scaleImg(img, filenameAb)
}))
img.src = gameConfig.assets_baseurl + "img/" + filenameAb + ".png"
}
Promise.all(promises).then(resolve, reject)
var promises = []
var filenames = []
if(this.selectedSong.songBg !== null){
filenames.push("bg_song_" + this.selectedSong.songBg)
}
if(this.selectedSong.donBg !== null){
filenames.push("bg_don_" + this.selectedSong.donBg)
}
for(var i = 0; i < filenames.length; i++){
for(var letter = 0; letter < 2; letter++){
let filenameAb = filenames[i] + (letter === 0 ? "a" : "b")
if(!(filenameAb in assets.image)){
let img = document.createElement("img")
if(filenameAb.startsWith("bg_song_")){
if(this.touchEnabled){
img.crossOrigin = "Anonymous"
}
promises.push(pageEvents.load(img).then(() => {
return this.scaleImg(img, filenameAb)
}))
}else{
promises.push(pageEvents.load(img).then(() => {
assets.image[filenameAb] = img
}))
}
img.src = gameConfig.assets_baseurl + "img/" + filenameAb + ".png"
}
}
}
Promise.all(promises).then(resolve, reject)
})
}
scaleImg(img, filename){