Wrath of Zeus
Made by Torchlight Games for CSE 125 SP24
Loading...
Searching...
No Matches
Public Member Functions | Static Public Attributes
Lava Class Reference

#include <lava.hpp>

Inheritance diagram for Lava:
Trap Object

Public Member Functions

 Lava (glm::vec3 corner, ModelType model_type, float grid_width, const PointLightProperties &light_properties)
 
bool shouldTrigger (ServerGameState &state) override
 
bool shouldReset (ServerGameState &state) override
 
void doCollision (Object *other, ServerGameState &state) override
 Code to run when this object collides with another. More...
 
virtual SharedObject toShared () override
 Generates a SharedObject representation of this object. More...
 
- Public Member Functions inherited from Trap
 Trap (ObjectType type, bool movable, glm::vec3 corner, Collider collider, ModelType model, glm::vec3 dimensions=glm::vec3(1.0f))
 
virtual bool shouldTrigger (ServerGameState &state)=0
 
virtual void trigger (ServerGameState &state)
 
virtual bool shouldReset (ServerGameState &state)=0
 
virtual void reset (ServerGameState &state)
 
SharedObject toShared () override
 Generates a SharedObject representation of this object. More...
 
void setIsDMTrap (bool is_dm_trap)
 
void setIsDMTrapHover (bool is_dm_trap_hover)
 
void setExpiration (std::chrono::time_point< std::chrono::system_clock > expiration)
 
bool getIsDMTrap ()
 
std::chrono::time_point< std::chrono::system_clock > getExpiration ()
 
- 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 ()
 

Static Public Attributes

static const int DAMAGE = 1
 
- 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...
 

Additional Inherited Members

- 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...
 
- Protected Attributes inherited from Trap
bool is_dm_trap
 
std::chrono::time_point< std::chrono::system_clock > expiration
 
SharedTrapInfo info
 

Constructor & Destructor Documentation

◆ Lava()

Lava::Lava ( glm::vec3  corner,
ModelType  model_type,
float  grid_width,
const PointLightProperties light_properties 
)
Parameters
cornerCorner position of the floor spike trap
model_typetype of model
grid_widthor how wide the longer axis should be (e.g. z if vertical, x if horizontal)

Member Function Documentation

◆ doCollision()

void Lava::doCollision ( Object other,
ServerGameState state 
)
overridevirtual

Code to run when this object collides with another.

NOTE: default implementation does nothing only override behaviors will matter

Reimplemented from Object.

◆ shouldReset()

bool Lava::shouldReset ( ServerGameState state)
overridevirtual

Resets the trap

Parameters
stateGameState, in case you need that to determine if the trap should reset
Returns
True if the trap should reset, false otherwise

Implements Trap.

◆ shouldTrigger()

bool Lava::shouldTrigger ( ServerGameState state)
overridevirtual

Determines if the trap should be triggered

Parameters
stateGameState, in case you need that to determine if the trap should trigger
Returns
True if the trap should trigger, false otherwise

Implements Trap.

◆ toShared()

SharedObject Lava::toShared ( )
overridevirtual

Generates a SharedObject representation of this object.

Returns
A SharedObject representation of this object.

Reimplemented from Object.

Field Documentation

◆ DAMAGE

const int Lava::DAMAGE = 1
static

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