Class cse491::InterfaceBase
ClassList > cse491 > InterfaceBase
Inherits the following classes: cse491::AgentBase
Public Functions
Type | Name |
---|---|
InterfaceBase (size_t id, const std::string & name) |
|
virtual bool | IsInterface () override const Is Entity an interface for a human? |
~InterfaceBase () = default |
Public Functions inherited from cse491::AgentBase
Type | Name |
---|---|
virtual AgentBase & | AddAction (const std::string & action_name, size_t action_id) Provide a new action that this agent can take. |
AgentBase (size_t id, const std::string & name) Default value upon initialization. |
|
virtual void | Deserialize_impl (std::istream & is) override Deserialize item-specific values and call Entity 's Deserialize_impl. |
size_t | GetActionID (const std::string & action_name) const Return an action ID if that action exists, otherwise return zero. |
int | GetActionResult () const Retrieve the result of the most recent action. |
State | GetAgentState () Get the current state of the Agent. |
virtual GridPosition | GetNextPosition () Allow derived agents to provide an arbitrary next position for the world to move the agent to. |
virtual std::string | GetTypeName_impl () override const Override to allow access the derived name for this type. |
bool | HasAction (const std::string & action_name) const Test if agent already has a specified action. |
virtual bool | Initialize () Run AFTER the world configures the agent, for additional tests or setup. |
virtual bool | IsAgent () override const Is Entity an autonomous agent? |
virtual void | Notify (const std::string &, const std::string &="none") Send a notification to this agent, typically from the world. |
virtual size_t | SelectAction (const WorldGrid & grid, const type_options_t & type_options, const item_map_t & item_map, const agent_map_t & agent_map) Decide the next action for this agent to perform; should be overridden! |
virtual void | Serialize_impl (std::ostream & os) override const Serialize item-specific values and call Entity 's Serialize_impl. |
void | SetActionResult (int result) Update the result from the most recent action. |
void | TakeDamage (cse491::AgentBase & agent) If the agent is in State::Taking_Damage, decrease the health by the damage factor once per timestep. |
void | UpdateAgentState (cse491::AgentBase & agent) Updates an Agent's state depending on health. |
void | storeActionMap (std::string name) |
~AgentBase () = default |
Public Functions inherited from cse491::Entity
See cse491::Entity
Type | Name |
---|---|
Entity & | AddItem (size_t id) |
Entity & | AddItem (Entity & item) |
virtual void | Deserialize_impl (std::istream & is) override Serialize entity-specific values. |
Entity (size_t id, const std::string & name) |
|
Entity (const Entity &) = delete |
|
Entity (Entity &&) = default |
|
size_t | GetGridID () const |
size_t | GetID () const |
std::vector< size_t > | GetInventory () const |
const std::string & | GetName () const |
size_t | GetNumProperties () const How many properties does this entity have? |
GridPosition | GetPosition () const |
const T & | GetProperty (const std::string & name) const Return the current value of the specified property. |
property_map_t & | GetPropertyMap () return the property map for the entity |
PropertyType | GetPropertyType (const std::string & name) const |
WorldBase & | GetWorld () const |
bool | HasItem (size_t id) const Inventory Management. |
bool | HasProperty (const std::string & name) const Does this agent have a property with the specified name? |
bool | HasWorld () const |
virtual bool | IsAgent () const Is Entity an autonomous agent? |
virtual bool | IsInterface () const Is Entity an interface for a human? |
virtual bool | IsItem () const Is Entity an item? |
bool | IsOnGrid (size_t in_grid_id) const |
Entity & | RemoveItem (size_t id) |
Entity & | RemoveItem (Entity & item) |
Entity & | RemoveProperty (const std::string & name) Completely remove a property from an Entity . |
virtual void | Serialize_impl (std::ostream & os) override const Serialize entity-specific values. |
Entity & | SetName (const std::string in_name) |
Entity & | SetPosition (GridPosition in_pos, size_t grid_id=0) |
Entity & | SetPosition (double x, double y) |
Entity & | SetProperties () Allow for setting multiple properties at once. |
Entity & | SetProperties (const std::string & name, VALUE_T && value, EXTRA_Ts &&... extras) |
Entity & | SetProperty (const std::string & name, const T & value) Change the value of the specified property (will create if needed) |
virtual Entity & | SetWorld (WorldBase & in_world) |
Entity & | operator= (const Entity &) = delete |
Entity & | operator= (Entity &&) = delete |
virtual | ~Entity () = default |
Public Functions inherited from cse491::CoreObject
Type | Name |
---|---|
void | Deserialize (std::istream & is) Restore the state of this object, extracting it from the provided stream. |
bool | Deserialize (std::string filename) A version of Deserialize that accepts a filename to read this object from. |
std::string | GetTypeName () const Access the derived name for this type. |
void | Serialize (std::ostream & os) const Store the current state of this object for later extraction. |
bool | Serialize (std::string filename) const A version of Serialize that accepts a filename for saving just this object. |
auto | operator<=> (const CoreObject &) const |
virtual | ~CoreObject () |
Protected Types inherited from cse491::Entity
See cse491::Entity
Type | Name |
---|---|
typedef std::unordered_map< std::string, std::unique_ptr< PropertyBase > > | property_map_t Every entity can have a simple set of properties (with values) associated with it. |
Protected Attributes inherited from cse491::AgentBase
Type | Name |
---|---|
int | action Action that agent is currently performing. |
std::unordered_map< std::string, size_t > | action_map Map of names to action ids. |
int | action_result = = 0 Usually a one (success) or zero (failure). |
State | agent_state = = Healthy |
Protected Attributes inherited from cse491::Entity
See cse491::Entity
Type | Name |
---|---|
size_t | grid_id = = 0 Which grid is this entity on? |
size_t | id = = 0 Unique ID for this entity (0 is used for "no ID") |
std::vector< size_t > | inventory What entity ids are held by this entity? |
std::string | name = = "" Name for this entity (E.g., "Player 1" or "+2 Sword") |
GridPosition | position Where on the grid is this entity? |
property_map_t | property_map |
Protected Functions inherited from cse491::Entity
See cse491::Entity
Type | Name |
---|---|
Property< T > & | AsProperty (const std::string & name) const |
Protected Functions inherited from cse491::CoreObject
Type | Name |
---|---|
virtual void | Deserialize_impl (std::istream &) = 0 Override to restore the state of this object from the provided stream. |
bool | EndDeserialize (std::istream & is) Set up end of the deserialization for this class (does type checking) |
void | EndSerialize (std::ostream & os) const Set up end of the serialization for this class (allows checking later) |
virtual std::string | GetTypeName_impl () const = 0 Override to allow access the derived name for this type. |
virtual void | Serialize_impl (std::ostream &) const = 0 Override to store the current state of this object for later extraction. |
bool | StartDeserialize (std::istream & is) Set up beginning of the deserialization for this class (does type checking) |
void | StartSerialize (std::ostream & os) const Set up beginning of the serialization for this class (allows checking later) |
Protected Static Functions
Type | Name |
---|---|
void | exitCleanup () |
Public Functions Documentation
function InterfaceBase
inline cse491::InterfaceBase::InterfaceBase (
size_t id,
const std::string & name
)
function IsInterface
inline virtual bool cse491::InterfaceBase::IsInterface () override const
Implements cse491::Entity::IsInterface
function ~InterfaceBase
cse491::InterfaceBase::~InterfaceBase () = default
Protected Static Functions Documentation
function exitCleanup
static inline void cse491::InterfaceBase::exitCleanup ()
The documentation for this class was generated from the following file source/core/InterfaceBase.hpp