Class ServiceLocator

java.lang.Object
com.csse3200.game.services.ServiceLocator

public class ServiceLocator extends Object
A simplified implementation of the Service Locator pattern: https://martinfowler.com/articles/injection.html#UsingAServiceLocator

Allows global access to a few core game services. Warning: global access is a trap and should be used extremely sparingly. Read the wiki for details (https://github.com/UQcsse3200/game-engine/wiki/Service-Locator).

  • Method Details

    • setGame

      public static void setGame(GdxGame g)
      Sets the GdxGame for any services that require it (should not be used unless necessary). Errors if the game is set twice
      Parameters:
      g - the instance of GdxGame that is running
    • getDialogueBoxService

      public static DialogueBoxService getDialogueBoxService()
    • getEntityService

      public static EntityService getEntityService()
    • getRenderService

      public static RenderService getRenderService()
    • getPhysicsService

      public static PhysicsService getPhysicsService()
    • getTimeSource

      public static GameTime getTimeSource()
    • getInputService

      public static InputService getInputService()
    • getResourceService

      public static ResourceService getResourceService()
    • getLightingService

      public static LightingService getLightingService()
    • getParticleService

      public static ParticleService getParticleService()
    • getGameArea

      public static GameArea getGameArea()
    • registerGameArea

      public static void registerGameArea(GameArea area)
    • registerEntityService

      public static void registerEntityService(EntityService service)
    • registerDialogueBoxService

      public static void registerDialogueBoxService(DialogueBoxService service)
    • registerRenderService

      public static void registerRenderService(RenderService service)
    • registerPhysicsService

      public static void registerPhysicsService(PhysicsService service)
    • registerTimeSource

      public static void registerTimeSource(GameTime source)
    • registerInputService

      public static void registerInputService(InputService source)
    • registerResourceService

      public static void registerResourceService(ResourceService source)
    • registerLightingService

      public static void registerLightingService(LightingService source)
    • registerParticleService

      public static void registerParticleService(ParticleService source)
    • clear

      public static void clear()
    • getDayNightCycle

      public static DayNightCycle getDayNightCycle()
    • registerDayNightCycle

      public static void registerDayNightCycle(DayNightCycle dayNightCycle)
    • registerInGameTime

      public static void registerInGameTime(InGameTime inGameTime)
    • getInGameTime

      public static InGameTime getInGameTime()