class EE::Scene::ActionManager

#include <actionmanager.hpp>

class ActionManager {
public:
    // construction

    ~ActionManager();

    // methods

    static ActionManager* New();
    void addAction(Action* action);
    Action* getActionByTag(const Action::UniqueID& tag);
    Action* getActionByTagFromTarget(Node* target, const Action::UniqueID& tag, bool mustBePending = false);
    bool removeActionByTag(const Action::UniqueID& tag);
    bool removeAction(Action* action);
    bool removeActions(const std::vector<EE::Scene::Action*>& actions);
    bool removeAllActionsFromTarget(Node* target);
    bool removeActionsByTagFromTarget(Node* target, const Action::UniqueID& tag);
    std::vector<Action*> getActionsFromTarget(Node* target);
    std::vector<Action*> getActionsByTagFromTarget(Node* target, const Action::UniqueID& tag);
    void update(const Time& time);
    std::size_t count() const;
    bool isEmpty() const;
    void clear();
};