1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
|
#ifndef GROUP_2_CONTROLLER_H_
#define GROUP_2_CONTROLLER_H_
#include "IAnimationNode.h"
#include "IAnimationGraph.h"
#include "ConnectionReceiver.h"
namespace animation
{
class Group2Controller :
public IAnimationNode
{
public:
Group2Controller()
{
}
Group2Controller(const std::string& _name, IAnimationGraph* _graph) :
IAnimationNode(_name, _graph)
{
}
virtual ~Group2Controller()
{
}
virtual void setEvent(const std::string& _name, float _value)
{
if (_name == "Start1") startAnimation1();
else if (_name == "Start2") startAnimation2();
}
virtual void addConnection(const std::string& _eventout, IAnimationNode* _node, const std::string& _eventin)
{
mConnection.addConnection(_eventout, _node, _eventin);
}
virtual void removeConnection(const std::string& _eventout, IAnimationNode* _node, const std::string& _eventin)
{
mConnection.removeConnection(_eventout, _node, _eventin);
}
private:
void startAnimation1()
{
mConnection.forceEvent("Stop2");
mConnection.forceEvent("Start1");
}
void startAnimation2()
{
mConnection.forceEvent("Stop1");
mConnection.forceEvent("Start2");
}
private:
ConnectionReceiver mConnection;
};
} // namespace animation
#endif // GROUP_2_CONTROLLER_H_
|