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