18#ifndef BIMHOMEBASE_FACTORY_H
19#define BIMHOMEBASE_FACTORY_H
91 void*
Produce(
const char* sClassName)
const;
162 ScriptFactorySingleton::Instance().AddProducer(name,
this);
173 return const_cast<char*
>(mScript);
virtual ~AbstractProducer()
Definition Factory.h:41
virtual void * Produce() const =0
生产对象
AbstractProducer()
Definition Factory.h:40
抽象生产者类
Definition Factory.h:38
std::list< std::string > CanProduce() const
获取所有注册的生产者列表
std::map< const std::string, AbstractProducer * > _mpcProducers
生产者映射
Definition Factory.h:94
Factory()
Definition Factory.h:82
void AddProducer(const char *sClassName, AbstractProducer *pcProducer)
添加新的生产者实例
void * Produce(const char *sClassName) const
根据类名生产对象
bool CanProduce(const char *sClassName) const
检查是否有注册的生产者
工厂类
Definition Factory.h:57
const char * ProduceScript(const char *sScriptName) const
生产脚本
~ScriptFactorySingleton()
Definition Factory.h:128
static ScriptFactorySingleton * _pcSingleton
单例指针
Definition Factory.h:131
static ScriptFactorySingleton & Instance()
获取单例实例
static void Destruct()
销毁单例
ScriptFactorySingleton()
Definition Factory.h:127
脚本工厂单例
Definition Factory.h:105
ScriptProducer(const char *name, const char *script)
构造函数
Definition Factory.h:160
const char * mScript
脚本内容
Definition Factory.h:177
virtual ~ScriptProducer()
Definition Factory.h:165
virtual void * Produce() const
生产脚本实例
Definition Factory.h:171
脚本生产者类
Definition Factory.h:153
ScriptFactorySingleton & ScriptFactory()
获取脚本工厂实例
Definition Factory.h:139
Definition BaseFigureFactory.h:24