Package com.deco2800.game.services
Class ServiceLocator
java.lang.Object
com.deco2800.game.services.ServiceLocator
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 Summary
Modifier and TypeMethodDescriptionstatic voidclear()static AchievementHandlerstatic DayNightCycleServicestatic EntityServicestatic InputServicestatic NpcServicestatic PhysicsServicestatic RangeServicestatic RenderServicestatic ResourceManagementServicestatic ResourceServicestatic StructureServicestatic GameTimestatic UGSstatic voidstatic voidstatic voidregisterEntityService(EntityService service) static voidregisterInputService(InputService source) static voidregisterNpcService(NpcService source) static voidregisterPhysicsService(PhysicsService service) static voidregisterRangeService(RangeService service) static voidregisterRenderService(RenderService service) static voidstatic voidstatic voidstatic voidregisterTimeSource(GameTime source) static voidregisterUGSService(UGS source) static voidsetNpcService(NpcService npcService)
-
Method Details
-
getUGSService
-
getEntityService
-
getRangeService
-
getRenderService
-
getPhysicsService
-
getTimeSource
-
getInputService
-
getResourceService
-
getResourceManagementService
-
getStructureService
-
getDayNightCycleService
-
getAchievementHandler
-
getNpcService
-
registerEntityService
-
registerRangeService
-
registerRenderService
-
registerPhysicsService
-
registerTimeSource
-
registerInputService
-
registerResourceService
-
registerStructureService
-
registerUGSService
-
registerDayNightCycleService
-
registerResourceManagementService
-
registerAchievementHandler
-
registerNpcService
-
clear
public static void clear() -
setNpcService
-