Wrath of Zeus
Made by Torchlight Games for CSE 125 SP24
Loading...
Searching...
No Matches
arrowtrap.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <chrono>
8
20class ArrowTrap: public Trap {
21public:
26 ArrowTrap(glm::vec3 corner, Direction dir);
27
29 const static inline std::chrono::seconds TIME_UNTIL_RESET = 4s;
30 const static inline float SIGHTLINE_M = 15;
31
32 bool shouldTrigger(ServerGameState& state) override;
33 void trigger(ServerGameState& state) override;
34
35 bool shouldReset(ServerGameState& state) override;
36 void reset(ServerGameState& state) override;
37
38private:
40 std::chrono::time_point<std::chrono::system_clock> shoot_time;
42 Direction dir;
43};
Definition: arrowtrap.hpp:20
void trigger(ServerGameState &state) override
Definition: arrowtrap.cpp:72
bool shouldReset(ServerGameState &state) override
Definition: arrowtrap.cpp:111
static const float SIGHTLINE_M
Definition: arrowtrap.hpp:30
bool shouldTrigger(ServerGameState &state) override
Definition: arrowtrap.cpp:35
void reset(ServerGameState &state) override
Definition: arrowtrap.cpp:116
static const std::chrono::seconds TIME_UNTIL_RESET
how long from initial activation until it can activate again
Definition: arrowtrap.hpp:29
The ServerGameState class contains all abstract game state data and logic for a single game state ins...
Definition: servergamestate.hpp:43
Definition: trap.hpp:9
GLfloat s
Definition: glad.h:3132
Direction
Definition: object.hpp:198