/// 代理工厂 #ifndef RUBehaviacTreeFactory_h #define RUBehaviacTreeFactory_h #include "RUDefine.h" #include "RUBehaviacTree.h" NS_RU_BEGIN class RUBehaviacTreeFactory { public: static RUBehaviacTreeFactory* getInstance(); /// 向工厂注册一个状态代理类的注册器 void registerBehaviacTreeCreator(const std::string& treeName, std::function behaviacTreeCreator); RUBehaviacTree* createBehaviacTree(const std::string& treeName); private: RUBehaviacTreeFactory() = default; ~RUBehaviacTreeFactory() = default; private: std::map> _behaviacTreeCreators; }; NS_RU_END #endif /* RUBehaviacTreeFactory_h */