Package me.hsgamer.minigamecore.manager
Class ArenaManager<T,A extends Arena & ManagedArena<T>>
java.lang.Object
me.hsgamer.minigamecore.base.FeatureUnit
me.hsgamer.minigamecore.manager.ArenaManager<T,A>
- Type Parameters:
T- the type of the identifier of the arenaA- the type of the arena
- All Implemented Interfaces:
Initializer
The manager that handles all arenas
-
Constructor Summary
ConstructorsConstructorDescriptionArenaManager(List<FeatureUnit> parentList) Create a new arena managerArenaManager(FeatureUnit... parent) Create a new arena manager -
Method Summary
Modifier and TypeMethodDescriptionbooleanAdd an arenavoidclear()voidClear all arenasbooleancontainsArena(T identifier) Check if the arena manager contains the arenaCreate an arenaGet all arenasGet the arena by its identifierGet the arena mapvoidpostInit()voidremoveArena(T identifier) Remove an arenaMethods inherited from class me.hsgamer.minigamecore.base.FeatureUnit
getFeature, getFeatures, getGameState, getGameStates, getParent, getParentList, init, loadFeatures, loadGameStates
-
Constructor Details
-
ArenaManager
Create a new arena manager- Parameters:
parentList- the parentFeatureUnitlist
-
ArenaManager
Create a new arena manager- Parameters:
parent- the parentFeatureUnit
-
-
Method Details
-
postInit
public void postInit()- Specified by:
postInitin interfaceInitializer- Overrides:
postInitin classFeatureUnit
-
clear
public void clear()- Specified by:
clearin interfaceInitializer- Overrides:
clearin classFeatureUnit
-
containsArena
Check if the arena manager contains the arena- Parameters:
identifier- the identifier- Returns:
- true if it does
-
getArena
Get the arena by its identifier- Parameters:
identifier- the identifier- Returns:
- the arena
-
getArenaMap
Get the arena map- Returns:
- the arena map
-
getAllArenas
Get all arenas- Returns:
- the collection of arenas
-
addArena
Add an arena- Parameters:
arena- the arena
-
removeArena
Remove an arena- Parameters:
identifier- the identifier
-
clearAllArenas
public void clearAllArenas()Clear all arenas -
createArena
public Optional<A> createArena(T identifier, Function<T, A> arenaCreator, Consumer<A> onCreateConsumer) Create an arena- Parameters:
identifier- the identifierarenaCreator- the arena creatoronCreateConsumer- the consumer that will be called when the arena is created- Returns:
- the created arena
-