Package com.csse3200.game.services
Class ServiceLocator
java.lang.Object
com.csse3200.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/UQcsse3200/game-engine/wiki/Service-Locator).
-
Method Summary
Modifier and TypeMethodDescriptionstatic voidclear()static EntityPlacementServicestatic EntityServicestatic GameAreastatic GameStateObserverstatic InputServicestatic PhysicsServicestatic RenderServicestatic ResourceServicestatic StructurePlacementServicestatic TerrainServicestatic GameTimestatic voidstatic voidregisterEntityService(EntityService service) static voidregisterGameArea(GameArea area) static voidstatic voidregisterInputService(InputService source) static voidregisterPhysicsService(PhysicsService service) static voidregisterRenderService(RenderService service) static voidstatic voidstatic voidregisterTerrainService(TerrainService source) static voidregisterTimeSource(GameTime source)
-
Method Details
-
getGameArea
-
registerGameArea
-
getEntityService
-
getRenderService
-
getPhysicsService
-
getTimeSource
-
getInputService
-
getResourceService
-
getGameStateObserverService
-
getStructurePlacementService
-
getTerrainService
-
getEntityPlacementService
-
registerStructurePlacementService
-
registerEntityPlacementService
-
registerEntityService
-
registerRenderService
-
registerPhysicsService
-
registerTimeSource
-
registerInputService
-
registerResourceService
-
registerTerrainService
-
registerGameStateObserverService
-
clear
public static void clear()
-