Package com.csse3200.game.services
Class ResourceService
java.lang.Object
com.csse3200.game.services.ResourceService
- All Implemented Interfaces:
com.badlogic.gdx.utils.Disposable
Service for loading resources, e.g. textures, texture atlases, sounds, music, etc. Add new load
methods when new types of resources are added to the game.
-
Constructor Summary
ConstructorDescriptionResourceService
(com.badlogic.gdx.assets.AssetManager assetManager) Initialise this ResourceService to use the provided AssetManager. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Clears all loaded assets and assets in the preloading queue.<T> boolean
containsAsset
(String resourceName, Class<T> type) Check if an asset has been loaded alreadyvoid
dispose()
<T> T
Load an asset from a file.int
Returns the loading completion progress as a percentage.void
loadAll()
Blocking call to load all assets.boolean
loadForMillis
(int duration) Loads assets for the specified duration in milliseconds.void
Loads a list of music assets into the asset manager.void
loadSounds
(String[] soundNames) Loads a list of sounds into the asset manager.void
loadTextureAtlases
(String[] textureAtlasNames) Loads a list of texture atlas assets into the asset manager.void
loadTextures
(String[] textureNames) Loads a list of texture assets into the asset manager.void
unloadAssets
(String[] assetNames)
-
Constructor Details
-
ResourceService
public ResourceService() -
ResourceService
public ResourceService(com.badlogic.gdx.assets.AssetManager assetManager) Initialise this ResourceService to use the provided AssetManager.- Parameters:
assetManager
- AssetManager to use in this service.- Requires:
- assetManager != null
-
-
Method Details
-
getAsset
Load an asset from a file.- Type Parameters:
T
- Type of class to load into- Parameters:
filename
- Asset pathtype
- Class to load into- Returns:
- Instance of class loaded from path
- See Also:
-
AssetManager.get(String, Class)
-
containsAsset
Check if an asset has been loaded already- Type Parameters:
T
- Type of the asset- Parameters:
resourceName
- path of the assettype
- Class type of the asset- Returns:
- true if asset has been loaded, false otherwise
- See Also:
-
AssetManager.contains(String)
-
getProgress
public int getProgress()Returns the loading completion progress as a percentage.- Returns:
- progress
-
loadAll
public void loadAll()Blocking call to load all assets.- See Also:
-
AssetManager.finishLoading()
-
loadForMillis
public boolean loadForMillis(int duration) Loads assets for the specified duration in milliseconds.- Parameters:
duration
- duration to load for- Returns:
- finished loading
- See Also:
-
AssetManager.update(int)
-
clearAllAssets
public void clearAllAssets()Clears all loaded assets and assets in the preloading queue.- See Also:
-
AssetManager.clear()
-
loadTextures
Loads a list of texture assets into the asset manager.- Parameters:
textureNames
- texture filenames
-
loadTextureAtlases
Loads a list of texture atlas assets into the asset manager.- Parameters:
textureAtlasNames
- texture atlas filenames
-
loadSounds
Loads a list of sounds into the asset manager.- Parameters:
soundNames
- sound filenames
-
loadMusic
Loads a list of music assets into the asset manager.- Parameters:
musicNames
- music filenames
-
unloadAssets
-
dispose
public void dispose()- Specified by:
dispose
in interfacecom.badlogic.gdx.utils.Disposable
-