1 #ifndef ANIMATION_NODE_FACTORY_H_
2 #define ANIMATION_NODE_FACTORY_H_
3 
4 #include "IAnimationNode.h"
5 #include "IAnimationNodeConstruct.h"
6 #include <map>
7 
8 namespace animation
9 {
10 
11 	class AnimationNodeFactory
12 	{
13 	public:
14 		AnimationNodeFactory();
15 		~AnimationNodeFactory();
16 
17 		IAnimationNode* createNode(const std::string& _type, const std::string& _name, IAnimationGraph* _holder);
18 
19 		void addConstruct(const std::string& _type, IAnimationNodeConstruct* _construct);
20 
21 	private:
22 		typedef std::map<std::string, IAnimationNodeConstruct*> MapConstruct;
23 		MapConstruct mConstructs;
24 
25 	};
26 
27 } // namespace animation
28 
29 #endif // ANIMATION_NODE_FACTORY_H_
30