#ifndef IShaderGraphNodeFactory_h__ #define IShaderGraphNodeFactory_h__ #include "shaders/IShaderGraphNode.h" #include #include namespace LifeGraphics { class IShaderGraphNodeFactory; class IShaderGraphNodeFactory : public Singleton { public: friend class Singleton; typedef IShaderGraphNode* (*NodeFactoryFunc)(); void RegisterNode(const String& name, NodeFactoryFunc func); IShaderGraphNode* Build(const String& name); private: IShaderGraphNodeFactory(){} typedef std::hash_map FactoryArray; FactoryArray FactoryFuncs; }; } #endif // IShaderGraphNodeFactory_h__