Class ResourceService

java.lang.Object
com.csse3200.game.services.ResourceService
All Implemented Interfaces:
com.badlogic.gdx.utils.Disposable

public class ResourceService extends Object implements 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 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

      public <T> T getAsset(String filename, Class<T> type)
      Load an asset from a file.
      Type Parameters:
      T - Type of class to load into
      Parameters:
      filename - Asset path
      type - Class to load into
      Returns:
      Instance of class loaded from path
      See Also:
      • AssetManager.get(String, Class)
    • containsAsset

      public <T> boolean containsAsset(String resourceName, Class<T> type)
      Check if an asset has been loaded already
      Type Parameters:
      T - Type of the asset
      Parameters:
      resourceName - path of the asset
      type - 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

      public void loadTextures(String[] textureNames)
      Loads a list of texture assets into the asset manager.
      Parameters:
      textureNames - texture filenames
    • loadTextureAtlases

      public void loadTextureAtlases(String[] textureAtlasNames)
      Loads a list of texture atlas assets into the asset manager.
      Parameters:
      textureAtlasNames - texture atlas filenames
    • loadSounds

      public void loadSounds(String[] soundNames)
      Loads a list of sounds into the asset manager.
      Parameters:
      soundNames - sound filenames
    • loadMusic

      public void loadMusic(String[] musicNames)
      Loads a list of music assets into the asset manager.
      Parameters:
      musicNames - music filenames
    • unloadAssets

      public void unloadAssets(String[] assetNames)
    • dispose

      public void dispose()
      Specified by:
      dispose in interface com.badlogic.gdx.utils.Disposable