new modole system
This commit is contained in:
34
core/src/watcher.h
Normal file
34
core/src/watcher.h
Normal file
@@ -0,0 +1,34 @@
|
||||
#pragma once
|
||||
|
||||
template <class T>
|
||||
class watcher {
|
||||
public:
|
||||
watcher(bool changed = false) {
|
||||
_changed = changed;
|
||||
}
|
||||
|
||||
watcher(T value, bool changed = false) {
|
||||
val = value;
|
||||
_val = value;
|
||||
_changed = changed;
|
||||
}
|
||||
|
||||
bool changed(bool clear = true) {
|
||||
bool ch = ((val != _val) || _changed);
|
||||
if (clear) {
|
||||
_changed = false;
|
||||
_val = val;
|
||||
}
|
||||
return ch;
|
||||
}
|
||||
|
||||
void markAsChanged() {
|
||||
_changed = true;
|
||||
}
|
||||
|
||||
T val;
|
||||
|
||||
private:
|
||||
bool _changed;
|
||||
T _val;
|
||||
};
|
||||
Reference in New Issue
Block a user