62 lines
1.5 KiB
C++
62 lines
1.5 KiB
C++
//
|
|
// TweenManager.h
|
|
//
|
|
// This code is derived from Universal Tween Engine
|
|
// Licensed under Apache License 2.0 - http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
|
|
/**
|
|
* A TweenManager updates all your tweens and timelines at once.
|
|
* Its main interest is that it handles the tween/timeline life-cycles for you,
|
|
* as well as the pooling constraints (if object pooling is enabled).
|
|
* <p/>
|
|
*
|
|
* Just give it a bunch of tweens or timelines and call update() periodically,
|
|
* you don't need to care for anything else! Relax and enjoy your animations.
|
|
*
|
|
* @see Tween
|
|
* @see Timeline
|
|
* @author Aurelien Ribon | http://www.aurelienribon.com/
|
|
*/
|
|
|
|
#ifndef __TweenManager__
|
|
#define __TweenManager__
|
|
|
|
#include <algorithm>
|
|
#include <vector>
|
|
|
|
#include <TweenEngine/BaseTween.h>
|
|
|
|
namespace TweenEngine
|
|
{
|
|
class TweenManager
|
|
{
|
|
private:
|
|
std::vector<BaseTween *>objects;
|
|
|
|
bool isPaused = false;
|
|
|
|
public:
|
|
TweenManager();
|
|
|
|
static void setAutoRemove(BaseTween &object, bool value);
|
|
static void setAutoStart(BaseTween &object, bool value);
|
|
|
|
TweenManager &add(BaseTween &object);
|
|
void killAll();
|
|
void ensureCapacity(int minCapacity);
|
|
void pause();
|
|
void resume();
|
|
void update(float delta);
|
|
int size();
|
|
|
|
// Debug Helpers
|
|
int getRunningTweensCount();
|
|
int getRunningTimelinesCount();
|
|
std::vector<BaseTween *> &getObjects();
|
|
};
|
|
|
|
}
|
|
|
|
#endif /* defined(__TweenManager__) */
|