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

#include <weaponcollider.hpp>

Inheritance diagram for WeaponCollider:
Object BigAttack Lightning MediumAttack ShortAttack

Data Structures

struct  WeaponOptions
 

Public Member Functions

 WeaponCollider (Player *usedPlayer, glm::vec3 corner, glm::vec3 facing, glm::vec3 dimensions, ModelType model, WeaponOptions &&options)
 
void doCollision (Object *other, ServerGameState &state) override
 Code to run when this object collides with another. More...
 
void updateMovement (ServerGameState &state)
 
bool readyTime (ServerGameState &state)
 
bool timeOut (ServerGameState &state)
 
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

ServerSFX sound
 
- 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

std::chrono::time_point< std::chrono::system_clock > preparing_time
 
std::chrono::time_point< std::chrono::system_clock > attacked_time
 
PlayerusedPlayer
 
SharedWeaponInfo info
 
WeaponOptions opt
 
bool playSound
 

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

◆ WeaponCollider()

WeaponCollider::WeaponCollider ( Player usedPlayer,
glm::vec3  corner,
glm::vec3  facing,
glm::vec3  dimensions,
ModelType  model,
WeaponOptions &&  options 
)

Member Function Documentation

◆ doCollision()

void WeaponCollider::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.

◆ readyTime()

bool WeaponCollider::readyTime ( ServerGameState state)

◆ timeOut()

bool WeaponCollider::timeOut ( ServerGameState state)

◆ toShared()

SharedObject WeaponCollider::toShared ( )
overridevirtual

Generates a SharedObject representation of this object.

Returns
A SharedObject representation of this object.

Reimplemented from Object.

Reimplemented in Lightning.

◆ updateMovement()

void WeaponCollider::updateMovement ( ServerGameState state)

Field Documentation

◆ attacked_time

std::chrono::time_point<std::chrono::system_clock> WeaponCollider::attacked_time
protected

◆ info

SharedWeaponInfo WeaponCollider::info
protected

◆ opt

WeaponOptions WeaponCollider::opt
protected

◆ playSound

bool WeaponCollider::playSound
protected

◆ preparing_time

std::chrono::time_point<std::chrono::system_clock> WeaponCollider::preparing_time
protected

◆ sound

ServerSFX WeaponCollider::sound

◆ usedPlayer

Player* WeaponCollider::usedPlayer
protected

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