15 class WallFactory :
public Factory<WallBase>
18 static WallFactory* factory() {
19 std::unique_lock<std::mutex> lock(wall_mutex);
21 s_factory =
new WallFactory;
26 virtual void deleteFactory() {
27 std::unique_lock<std::mutex> lock(wall_mutex);
36 virtual WallBase*
newWall(
int n);
42 virtual WallBase*
newWall(
const std::string& wallType);
52 void reg_type(
const std::string& name,
const int type) {
59 std::unordered_map<int, std::string> m_types;
62 static WallFactory* s_factory;
63 static std::mutex wall_mutex;
70 return WallFactory::factory()->newWall(model);