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

#include <mirror.hpp>

Inheritance diagram for Mirror:
Item Object

Public Member Functions

 Mirror (glm::vec3 corner, glm::vec3 dimensions)
 Mirror constructor. More...
 
void useItem (Object *other, ServerGameState &state, int itemSelected) override
 Using the mirror causes it to be held for a few seconds. More...
 
void dropItem (Object *other, ServerGameState &state, int itemSelected, float dropDistance) override
 
bool timeOut ()
 Determines whether the mirror has been used for the mirror holding duration and updated the remaining time it will be used. More...
 
void revertEffect (ServerGameState &state)
 Stop holding the mirror. More...
 
- Public Member Functions inherited from Item
 Item (ObjectType type, bool movable, glm::vec3 corner, ModelType model, glm::vec3 dimensions)
 
virtual void useItem (Object *other, ServerGameState &state, int itemSelected)
 
virtual void dropItem (Object *other, ServerGameState &state, int itemSelected, float dropDistance)
 
void doCollision (Object *other, ServerGameState &state) override
 Code to run when this object collides with another. More...
 
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 ()
 

Additional Inherited Members

- Data Fields inherited from Item
SharedItemInfo iteminfo
 
- 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...
 
- 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

◆ Mirror()

Mirror::Mirror ( glm::vec3  corner,
glm::vec3  dimensions 
)

Mirror constructor.

Parameters
cornerCorner position of the Mirror
dimensionsDimensions of the Mirror

Member Function Documentation

◆ dropItem()

void Mirror::dropItem ( Object other,
ServerGameState state,
int  itemSelected,
float  dropDistance 
)
overridevirtual

Reimplemented from Item.

◆ revertEffect()

void Mirror::revertEffect ( ServerGameState state)

Stop holding the mirror.

Note
This should be called when the use duration times out OR when the player selects a different item in their inventory.
Parameters
stateReference to the server's ServerGameState instance

◆ timeOut()

bool Mirror::timeOut ( )

Determines whether the mirror has been used for the mirror holding duration and updated the remaining time it will be used.

Returns
true if the mirror has been used for the specified duration.

◆ useItem()

void Mirror::useItem ( Object other,
ServerGameState state,
int  itemSelected 
)
overridevirtual

Using the mirror causes it to be held for a few seconds.

Parameters
otherPlayer object that uses the mirror
stateReference to the server's ServerGameState instance
itemSelectedMirror's item index in the player's inventory

Reimplemented from Item.


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