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

    • getUGSService

      public static UGS getUGSService()
    • getEntityService

      public static EntityService getEntityService()
    • getRangeService

      public static RangeService getRangeService()
    • 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()
    • getResourceManagementService

      public static ResourceManagementService getResourceManagementService()
    • getStructureService

      public static StructureService getStructureService()
    • getDayNightCycleService

      public static DayNightCycleService getDayNightCycleService()
    • getAchievementHandler

      public static AchievementHandler getAchievementHandler()
    • getNpcService

      public static NpcService getNpcService()
    • registerEntityService

      public static void registerEntityService(EntityService service)
    • registerRangeService

      public static void registerRangeService(RangeService 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)
    • registerStructureService

      public static void registerStructureService(StructureService source)
    • registerUGSService

      public static void registerUGSService(UGS source)
    • registerDayNightCycleService

      public static void registerDayNightCycleService(DayNightCycleService source)
    • registerResourceManagementService

      public static void registerResourceManagementService(ResourceManagementService source)
    • registerAchievementHandler

      public static void registerAchievementHandler(AchievementHandler source)
    • registerNpcService

      public static void registerNpcService(NpcService source)
    • clear

      public static void clear()
    • setNpcService

      public static void setNpcService(NpcService npcService)