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 TypeMethodDescriptionvoiddispose()Dispose all entities.Returns all registered entitiesReturns the last registered entitygetNamedEntity(String name) Returns a registered named entityintintstatic booleannpcClicked(int screenX, int screenY) Determine if NPCs on map are being clicked onvoidRegister a new entity with the NPC service.voidregisterNamed(String name, Entity entity) Registers an entity with a name so it can be found latervoidsetNpcNum(int num) voidsetNpcType(int num) voidunregister(Entity entity) Unregister an entity with the NPC service.voidupdate()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:
registerin classEntityService- Parameters:
entity- new entity.
-
registerNamed
Registers an entity with a name so it can be found later- Overrides:
registerNamedin 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:
getNamedEntityin classEntityService- Parameters:
name- the name the entity was registered as- Returns:
- the registered entity or null
-
getLastEntity
Returns the last registered entity- Overrides:
getLastEntityin classEntityService- Returns:
- the last registered entity or null
-
getAllNamedEntities
Returns all registered entities- Overrides:
getAllNamedEntitiesin classEntityService- Returns:
- all registered entities or null
-
unregister
Unregister an entity with the NPC service. The entity will be removed and stop updating.- Overrides:
unregisterin 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:
updatein classEntityService
-
dispose
public void dispose()Dispose all entities.- Overrides:
disposein 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
-