You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gamejam-22/core/src/main/kotlin/com/last/commit/AssetManager.kt

62 lines
1.5 KiB
Kotlin

package com.last.commit
import com.badlogic.gdx.assets.AssetManager
import com.badlogic.gdx.audio.Music
import com.badlogic.gdx.audio.Sound
import com.badlogic.gdx.scenes.scene2d.ui.Skin
object TimeTravelAssetManager {
private val skin = "ui/uiskin.json"
private val assetManager = AssetManager()
fun loadSounds(vararg paths: String) {
println("Loading ${paths.size} sounds")
for (path in paths) {
assetManager.load(path, Sound::class.java)
}
}
fun loadMusics(vararg paths: String) {
println("Loading ${paths.size} musics")
for (path in paths) {
assetManager.load(path, Music::class.java)
}
}
fun loadSkins(vararg paths: String) {
println("Loading ${paths.size} skins")
for (path in paths) {
assetManager.load(path, Skin::class.java)
}
assetManager.load(skin, Skin::class.java);
}
fun loadTextures(vararg paths: String) {
println("Loading ${paths.size} textures")
for (path in paths) {
assetManager.load(path, Music::class.java)
}
}
fun getSkin(): Skin {
return assetManager.get(skin)
}
fun <T> get(path: String): T {
return assetManager.get(path)
}
fun finishLoading() {
assetManager.finishLoading()
}
fun update(): Boolean {
return assetManager.update()
}
fun dispose() {
assetManager.dispose()
}
}