Wrath of Zeus
Made by Torchlight Games for CSE 125 SP24
Loading...
Searching...
No Matches
Public Member Functions | Data Fields
Creature Class Reference

#include <creature.hpp>

Inheritance diagram for Creature:
Object DungeonMaster Enemy Player Minotaur Python Slime

Public Member Functions

 Creature (ObjectType type, glm::vec3 corner, glm::vec3 facing, ModelType modelType, SharedStats &&stats)
 
virtual ~Creature ()
 
virtual SharedObject toShared () override
 Generates a SharedObject representation of this object. More...
 
- Public Member Functions inherited from Object
 Object (ObjectType type, Physics physics, ModelType modelType)
 
virtual ~Object ()
 
void setModel (ModelType type)
 Sets this Object's model and initializes its dimensions to the given model's default dimensions. More...
 
virtual SharedObject toShared ()
 Generates a SharedObject representation of this object. More...
 
virtual void doCollision (Object *other, ServerGameState &state)
 Code to run when this object collides with another. More...
 
std::string to_string (unsigned int tab_offset)
 
std::string to_string ()
 

Data Fields

SharedStats stats
 
SharedStatuses statuses
 
- Data Fields inherited from Object
EntityID globalID {}
 Unique object ID (used to index into the ServerGameState::objects vector) More...
 
SpecificID typeID {}
 Type-specific Object ID (used to index into the type-specific objects vector in ServerGameState) More...
 
MovableID movableID {}
 Movable ID (used to index into the movable objects vector in ServerGameState) More...
 
ObjectType type
 Identifies this object's type (derived class) More...
 
Physics physics
 Object's Physics-related properties. More...
 
ModelType modelType
 Object's render model type (specifies this Object's render model to the client) More...
 
AnimState animState
 Object's animation state and current action. For non-animated objects, this defaults as AnimState::IdleAnim. More...
 
bool is_sprinting
 used to determine if the player is sprinting for animation purposes More...
 
std::vector< glm::ivec2 > gridCellPositions
 Vector of (x, y) positions of GridCells currently occupied by this object. More...
 
float distance_moved
 Distance moved, for use in deciding when to play footsteps IMPORTANT: reset every time a footstep sound is performed for objects that play foosteps. More...
 

Additional Inherited Members

- Static Public Attributes inherited from Object
static std::unordered_map< ModelType, glm::vec3 > models
 Maps from ModelType to a model's dimensions as read from the model files. (At present, these values are hard-coded in object.cpp) More...
 

Constructor & Destructor Documentation

◆ Creature()

Creature::Creature ( ObjectType  type,
glm::vec3  corner,
glm::vec3  facing,
ModelType  modelType,
SharedStats &&  stats 
)
Parameters
typeType of Object
cornerCorner position of object
facingWhat direction the object is facing
modelTypewhat type of model to render for the creature
statsStats information for the creature (e.g. health, speed)

◆ ~Creature()

Creature::~Creature ( )
virtual

Member Function Documentation

◆ toShared()

SharedObject Creature::toShared ( )
overridevirtual

Generates a SharedObject representation of this object.

Returns
A SharedObject representation of this object.

Reimplemented from Object.

Reimplemented in DungeonMaster, Enemy, and Player.

Field Documentation

◆ stats

SharedStats Creature::stats

◆ statuses

SharedStatuses Creature::statuses

The documentation for this class was generated from the following files: