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 CurrencyServicestatic EntityServicestatic GameEndServicestatic InputServicestatic MapServicestatic PhysicsServicestatic RenderServicestatic ResourceServicestatic GameTimestatic WaveServicestatic voidregisterCurrencyService(CurrencyService service) static voidregisterEntityService(EntityService service) static voidregisterGameEndService(GameEndService source) static voidregisterInputService(InputService source) static voidregisterMapService(MapService source) static voidregisterPhysicsService(PhysicsService service) static voidregisterRenderService(RenderService service) static voidstatic voidregisterTimeSource(GameTime source) static voidregisterWaveService(WaveService source) static voidsetTowerTypes(Set<TowerType> selectedTowers)
-
Method Details
-
getCurrencyService
-
getEntityService
-
getRenderService
-
getPhysicsService
-
getTimeSource
-
getInputService
-
getResourceService
-
getGameEndService
-
getWaveService
-
getMapService
-
registerCurrencyService
-
registerEntityService
-
registerRenderService
-
registerPhysicsService
-
registerTimeSource
-
registerInputService
-
registerResourceService
-
registerGameEndService
-
registerWaveService
-
registerMapService
-
setTowerTypes
-
getTowerTypes
-
clear
public static void clear()
-