|
Wrath of Zeus
Made by Torchlight Games for CSE 125 SP24
|
#include <projectile.hpp>
Data Structures | |
| struct | Options |
| Struct for options to configure the projectile. More... | |
Public Member Functions | |
| Projectile (glm::vec3 corner, glm::vec3 facing, glm::vec3 dimensions, ModelType model, std::optional< ServerSFX > destroy_sound, Options &&options) | |
| void | doCollision (Object *other, ServerGameState &state) override |
| Code to run when this object collides with another. More... | |
| bool | doTick (ServerGameState &state) |
| handle homing trajectory updates More... | |
| 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 () |
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... | |
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... | |
Class for any possible Projectile.
More specific projectiles are just different parameters being passed into this base class.
Potentially we might want more specific projectiles, at which time maybe we make some of the projectile methods virtual.
| Projectile::Projectile | ( | glm::vec3 | corner, |
| glm::vec3 | facing, | ||
| glm::vec3 | dimensions, | ||
| ModelType | model, | ||
| std::optional< ServerSFX > | destroy_sound, | ||
| Options && | options | ||
| ) |
| corner | Corner position of the projectile |
| facing | Direction the projectile is facing |
| dimensions | dimension of the projectile TODO: remove once actually using non Cube models |
| model | Model to render the projectile as |
| options | Configurable options for the projectile |
|
overridevirtual |
Code to run when this object collides with another.
NOTE: default implementation does nothing only override behaviors will matter
Reimplemented from Object.
| bool Projectile::doTick | ( | ServerGameState & | state | ) |
handle homing trajectory updates
|
overridevirtual |
Generates a SharedObject representation of this object.
Reimplemented from Object.