Wrath of Zeus
Made by Torchlight Games for CSE 125 SP24
Loading...
Searching...
No Matches
trap.hpp
Go to the documentation of this file.
1#pragma once
2
7#include <chrono>
8
9class Trap : public Object {
10public:
19 Trap(ObjectType type, bool movable, glm::vec3 corner, Collider collider, ModelType model, glm::vec3 dimensions = glm::vec3(1.0f));
20
27 virtual bool shouldTrigger(ServerGameState& state) = 0;
28
39 virtual void trigger(ServerGameState& state);
40
47 virtual bool shouldReset(ServerGameState& state) = 0;
48
59 virtual void reset(ServerGameState& state);
60
61 SharedObject toShared() override;
62
68 void setIsDMTrap(bool is_dm_trap);
69
75 void setIsDMTrapHover(bool is_dm_trap_hover);
76
82 void setExpiration(std::chrono::time_point<std::chrono::system_clock> expiration);
83
89 bool getIsDMTrap();
90
96 std::chrono::time_point<std::chrono::system_clock> getExpiration();
97
98protected:
103
107 std::chrono::time_point<std::chrono::system_clock> expiration;
108
110};
Definition: object.hpp:95
The ServerGameState class contains all abstract game state data and logic for a single game state ins...
Definition: servergamestate.hpp:43
Representation of the Object class used by ServerGameState, containing exactly the subset of Object d...
Definition: sharedobject.hpp:302
Definition: trap.hpp:9
SharedObject toShared() override
Generates a SharedObject representation of this object.
Definition: trap.cpp:15
void setIsDMTrapHover(bool is_dm_trap_hover)
Definition: trap.cpp:29
std::chrono::time_point< std::chrono::system_clock > getExpiration()
Definition: trap.cpp:41
virtual void trigger(ServerGameState &state)
Definition: trap.cpp:11
virtual void reset(ServerGameState &state)
Definition: trap.cpp:21
void setIsDMTrap(bool is_dm_trap)
Definition: trap.cpp:25
virtual bool shouldTrigger(ServerGameState &state)=0
SharedTrapInfo info
Definition: trap.hpp:109
virtual bool shouldReset(ServerGameState &state)=0
void setExpiration(std::chrono::time_point< std::chrono::system_clock > expiration)
Definition: trap.cpp:33
bool is_dm_trap
Definition: trap.hpp:102
bool getIsDMTrap()
Definition: trap.cpp:37
std::chrono::time_point< std::chrono::system_clock > expiration
Definition: trap.hpp:107
Collider
Enumeration to identify collider shape.
Definition: collider.hpp:10
GLint GLint GLsizei GLint GLenum GLenum type
Definition: glad.h:1531
ModelType
Enumeration of every render model in the game.
Definition: sharedmodel.hpp:6
ObjectType
An enum for the type of an object; the fields here should match all class names in the inheritance tr...
Definition: sharedobject.hpp:19
Definition: sharedobject.hpp:210