41 lines
975 B
C++
41 lines
975 B
C++
#ifndef GULLSMANAGER_H
|
|
#define GULLSMANAGER_H
|
|
|
|
#include "Arduino.h"
|
|
#include "Action.h"
|
|
#include "LEDHAL.h"
|
|
#include "AnimationBase.h"
|
|
|
|
class GULLSManager {
|
|
public:
|
|
GULLSManager(Stream* _stream, uint16_t _maxHALs, uint16_t _maxAnimations,
|
|
uint16_t _maxResponseActions, uint16_t _maxAnimationBuilderActions);
|
|
|
|
bool addLEDHAL(LEDHAL* hal);
|
|
|
|
bool addAnimation(AnimationBase* animation);
|
|
|
|
bool addResponseAction(Action<char>* action);
|
|
|
|
bool addAnimationBuilderAction(Action<AnimationBase>* action);
|
|
|
|
void update();
|
|
private:
|
|
uint16_t
|
|
maxHALs,
|
|
maxAnimations,
|
|
maxResponseActions,
|
|
maxAnimationBuilderActions;
|
|
Stream*
|
|
stream;
|
|
LEDHAL**
|
|
hals;
|
|
AnimationBase**
|
|
animations;
|
|
Action<char>**
|
|
responseActions;
|
|
Action<AnimationBase>**
|
|
animationBuilderActions;
|
|
};
|
|
|
|
#endif |