Class ServiceLocator

java.lang.Object
com.deco2800.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/UQdeco2800/game-engine/wiki/Service-Locator).

  • Method Details

    • getGameArea

      public static GameArea getGameArea()
    • 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()
    • registerEntityService

      public static void registerEntityService(EntityService 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)
    • clear

      public static void clear()
    • registerGameArea

      public static void registerGameArea(GameArea area)
    • registerMainGameScreen

      public static void registerMainGameScreen(MainGameScreen gameScreen)
    • getMainGameScreen

      public static MainGameScreen getMainGameScreen()
    • registerCraftArea

      public static void registerCraftArea(GameAreaDisplay area)
    • registerPauseArea

      public static void registerPauseArea(GameAreaDisplay area)
    • registerPlayerGuideArea

      public static void registerPlayerGuideArea(GameAreaDisplay area)
    • registerInventoryArea

      public static void registerInventoryArea(GameAreaDisplay area)
    • registerKeyBindArea

      public static void registerKeyBindArea(GameAreaDisplay area)
      Register the display area the keybinding area will now exist in.
      Parameters:
      area - GameAreaDisplay to introduce the keybinding area to
    • getCraftArea

      public static GameAreaDisplay getCraftArea()
    • getPauseMenuArea

      public static GameAreaDisplay getPauseMenuArea()
    • getPlayerGuidArea

      public static GameAreaDisplay getPlayerGuidArea()
    • getInventoryArea

      public static GameAreaDisplay getInventoryArea()
    • getKeyBindArea

      public static GameAreaDisplay getKeyBindArea()
      Returns the keybinding GameAreaDisplay element.
      Returns:
      GameAreaDisplay Associated GameAreaDisplay element