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
- Direct Known Subclasses:
LoadedArenaManager
The manager that handles all arenas
-
Constructor Summary
ConstructorDescriptionArenaManager
(List<FeatureUnit> parentList) Create a new arena managerArenaManager
(FeatureUnit... parent) Create a new arena manager -
Method Summary
Modifier and TypeMethodDescriptionboolean
Add an arenavoid
clear()
Clear the objectvoid
Clear all arenasboolean
containsArena
(T identifier) Check if the arena manager contains the arenaCreate an arenaGet all arenasGet the arena by its identifierGet the arena mapvoid
postInit()
Called on special event when all the objects are initializedvoid
removeArena
(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 parentFeatureUnit
list
-
ArenaManager
Create a new arena manager- Parameters:
parent
- the parentFeatureUnit
-
-
Method Details
-
postInit
public void postInit()Description copied from interface:Initializer
Called on special event when all the objects are initialized- Specified by:
postInit
in interfaceInitializer
- Overrides:
postInit
in classFeatureUnit
-
clear
public void clear()Description copied from interface:Initializer
Clear the object- Specified by:
clear
in interfaceInitializer
- Overrides:
clear
in 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
-