aboutsummaryrefslogtreecommitdiff
path: root/src/nodetimer.h
diff options
context:
space:
mode:
authorElias Fleckenstein <54945686+EliasFleckenstein03@users.noreply.github.com>2020-11-04 16:44:42 +0100
committerGitHub <noreply@github.com>2020-11-04 16:44:42 +0100
commit5d9ae5a91c544fc7fbd475decf47cef7e09ef8fc (patch)
treec980d614fec4a5495798be3e79e033229062c3cd /src/nodetimer.h
parent28f6a79706b088c37268a59d90878220dc4ef9c7 (diff)
parent3af10766fd2b58b068e970266724d7eb10e9316b (diff)
downloaddragonfireclient-5d9ae5a91c544fc7fbd475decf47cef7e09ef8fc.tar.xz
Merge branch 'master' into master
Diffstat (limited to 'src/nodetimer.h')
-rw-r--r--src/nodetimer.h40
1 files changed, 22 insertions, 18 deletions
diff --git a/src/nodetimer.h b/src/nodetimer.h
index 40e54ccc5..4edc38ba8 100644
--- a/src/nodetimer.h
+++ b/src/nodetimer.h
@@ -36,10 +36,11 @@ class NodeTimer
{
public:
NodeTimer() = default;
- NodeTimer(const v3s16 &position_):
- position(position_) {}
- NodeTimer(f32 timeout_, f32 elapsed_, v3s16 position_):
- timeout(timeout_), elapsed(elapsed_), position(position_) {}
+ NodeTimer(const v3s16 &position_) : position(position_) {}
+ NodeTimer(f32 timeout_, f32 elapsed_, v3s16 position_) :
+ timeout(timeout_), elapsed(elapsed_), position(position_)
+ {
+ }
~NodeTimer() = default;
void serialize(std::ostream &os) const;
@@ -64,9 +65,10 @@ public:
void deSerialize(std::istream &is, u8 map_format_version);
// Get timer
- NodeTimer get(const v3s16 &p) {
+ NodeTimer get(const v3s16 &p)
+ {
std::map<v3s16, std::multimap<double, NodeTimer>::iterator>::iterator n =
- m_iterators.find(p);
+ m_iterators.find(p);
if (n == m_iterators.end())
return NodeTimer();
NodeTimer t = n->second->second;
@@ -74,10 +76,11 @@ public:
return t;
}
// Deletes timer
- void remove(v3s16 p) {
+ void remove(v3s16 p)
+ {
std::map<v3s16, std::multimap<double, NodeTimer>::iterator>::iterator n =
- m_iterators.find(p);
- if(n != m_iterators.end()) {
+ m_iterators.find(p);
+ if (n != m_iterators.end()) {
double removed_time = n->second->first;
m_timers.erase(n->second);
m_iterators.erase(n);
@@ -93,25 +96,26 @@ public:
}
}
// Undefined behaviour if there already is a timer
- void insert(NodeTimer timer) {
+ void insert(NodeTimer timer)
+ {
v3s16 p = timer.position;
double trigger_time = m_time + (double)(timer.timeout - timer.elapsed);
- std::multimap<double, NodeTimer>::iterator it =
- m_timers.insert(std::pair<double, NodeTimer>(
- trigger_time, timer
- ));
- m_iterators.insert(
- std::pair<v3s16, std::multimap<double, NodeTimer>::iterator>(p, it));
+ std::multimap<double, NodeTimer>::iterator it = m_timers.insert(
+ std::pair<double, NodeTimer>(trigger_time, timer));
+ m_iterators.insert(std::pair<v3s16,
+ std::multimap<double, NodeTimer>::iterator>(p, it));
if (m_next_trigger_time == -1. || trigger_time < m_next_trigger_time)
m_next_trigger_time = trigger_time;
}
// Deletes old timer and sets a new one
- inline void set(const NodeTimer &timer) {
+ inline void set(const NodeTimer &timer)
+ {
remove(timer.position);
insert(timer);
}
// Deletes all timers
- void clear() {
+ void clear()
+ {
m_timers.clear();
m_iterators.clear();
m_next_trigger_time = -1.;