G.U.L.L.S. rebuilt to use PlatformIO
This commit is contained in:
75
include/AnimationBase.h
Normal file
75
include/AnimationBase.h
Normal file
@@ -0,0 +1,75 @@
|
||||
#ifndef ANIMATIONBASE_H
|
||||
#define ANIMATIONBASE_H
|
||||
|
||||
#include "elapsedMillis.h"
|
||||
|
||||
class AnimationBase {
|
||||
public:
|
||||
AnimationBase(char* _refName, long _updateTime)
|
||||
: refName(_refName), updateTime(_updateTime),
|
||||
enabled(false), initialized(false), timer(0) {}
|
||||
virtual ~AnimationBase() {
|
||||
delete refName;
|
||||
}
|
||||
|
||||
virtual void initialize() {}
|
||||
virtual void execute() {}
|
||||
virtual bool isFinished() {
|
||||
return false;
|
||||
}
|
||||
|
||||
void update() {
|
||||
if (enabled) {
|
||||
if (timer >= updateTime) {
|
||||
if (!initialized) {
|
||||
initialize();
|
||||
initialized = true;
|
||||
}
|
||||
|
||||
if (!isFinished()) {
|
||||
execute();
|
||||
}
|
||||
|
||||
resetTimer();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void enable() {
|
||||
enabled = true;
|
||||
}
|
||||
|
||||
void disable() {
|
||||
enabled = false;
|
||||
}
|
||||
|
||||
void reinitialize() {
|
||||
initialized = false;
|
||||
}
|
||||
|
||||
bool isEnabled() {
|
||||
return enabled;
|
||||
}
|
||||
|
||||
char* getReferenceName() {
|
||||
return refName;
|
||||
}
|
||||
|
||||
protected:
|
||||
void resetTimer() {
|
||||
timer = 0;
|
||||
}
|
||||
|
||||
private:
|
||||
char*
|
||||
refName;
|
||||
long
|
||||
updateTime;
|
||||
bool
|
||||
enabled,
|
||||
initialized;
|
||||
elapsedMillis
|
||||
timer;
|
||||
};
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user