Package com.deco2800.game.entities
Class NpcService
java.lang.Object
com.deco2800.game.entities.EntityService
com.deco2800.game.entities.NpcService
Provides a global access point for NPC entities to register themselves. This allows for iterating
over NPC entities to perform updates each loop. All NPC entities should be registered here.
-
Field Summary
Fields inherited from class com.deco2800.game.entities.EntityService
toDestroyEntities
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
dispose()
Dispose all entities.Returns all registered entitiesReturns the last registered entitygetNamedEntity
(String name) Returns a registered named entityint
int
static boolean
npcClicked
(int screenX, int screenY) Determine if NPCs on map are being clicked onvoid
Register a new entity with the NPC service.void
registerNamed
(String name, Entity entity) Registers an entity with a name so it can be found latervoid
setNpcNum
(int num) void
setNpcType
(int num) void
unregister
(Entity entity) Unregister an entity with the NPC service.void
update()
Update all registered entities.Methods inherited from class com.deco2800.game.entities.EntityService
addEntity, addToDestroyEntities, findClosestEnemy, findClosestEntity, getCurrentWorldStep, getEnemyEntities, getEntities, getToDestroyEntities, removeNamedEntity, setCurrentWorldStep, setDestroyEntire, unregisterNamed
-
Constructor Details
-
NpcService
public NpcService()
-
-
Method Details
-
setNpcNum
public void setNpcNum(int num) -
getNpcNum
public int getNpcNum() -
setNpcType
public void setNpcType(int num) -
getNpcType
public int getNpcType() -
register
Register a new entity with the NPC service. The entity will be created and start updating.- Overrides:
register
in classEntityService
- Parameters:
entity
- new entity.
-
registerNamed
Registers an entity with a name so it can be found later- Overrides:
registerNamed
in classEntityService
- Parameters:
name
- the name to register it as (must be unique or will overwrite)entity
- the entity to register
-
getNamedEntity
Returns a registered named entity- Overrides:
getNamedEntity
in classEntityService
- Parameters:
name
- the name the entity was registered as- Returns:
- the registered entity or null
-
getLastEntity
Returns the last registered entity- Overrides:
getLastEntity
in classEntityService
- Returns:
- the last registered entity or null
-
getAllNamedEntities
Returns all registered entities- Overrides:
getAllNamedEntities
in classEntityService
- Returns:
- all registered entities or null
-
unregister
Unregister an entity with the NPC service. The entity will be removed and stop updating.- Overrides:
unregister
in classEntityService
- Parameters:
entity
- entity to be removed.
-
update
public void update()Update all registered entities. Should only be called from the main game loop.- Overrides:
update
in classEntityService
-
dispose
public void dispose()Dispose all entities.- Overrides:
dispose
in classEntityService
-
npcClicked
public static boolean npcClicked(int screenX, int screenY) Determine if NPCs on map are being clicked on- Parameters:
screenX
- x coordinatescreenY
- y coordinate
-