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 Summary

    Constructors
    Constructor
    Description
     
    ResourceService(com.badlogic.gdx.assets.AssetManager assetManager)
    Initialise this ResourceService to use the provided AssetManager.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    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 already
    void
    Disposes of the resource service, clearing the asset manager which clears and disposes of all assets and clears the preloading queue
    <T> T
    getAsset(String filename, Class<T> type)
    Load an asset from a file.
    int
    Returns the loading completion progress as a percentage.
    void
    Blocking call to load all assets.
    boolean
    loadForMillis(int duration)
    Loads assets for the specified duration in milliseconds.
    void
    loadMusic(String[] musicNames)
    Loads a list of music assets into the asset manager.
    void
    loadParticleEffects(String[] particleNames)
    Loads a list of particle effect assets into the asset manager
    void
    loadSkins(String[] skinNames)
     
    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)
    Disposes of assets and all of their dependencies from the resource manager

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • 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
    • loadParticleEffects

      public void loadParticleEffects(String[] particleNames)
      Loads a list of particle effect assets into the asset manager
      Parameters:
      particleNames - particle effect filenames
    • loadSkins

      public void loadSkins(String[] skinNames)
    • unloadAssets

      public void unloadAssets(String[] assetNames)
      Disposes of assets and all of their dependencies from the resource manager
      Parameters:
      assetNames - list of asset names to dispose of
    • dispose

      public void dispose()
      Disposes of the resource service, clearing the asset manager which clears and disposes of all assets and clears the preloading queue
      Specified by:
      dispose in interface com.badlogic.gdx.utils.Disposable