EXTERN archetype * empty_archetype
virtual archetype * create(const std::string &name)
virtual void destroy(archetype *item)
static void recursive_update(object *item, archetype *updated)
archetype * findBySkillNameAndType(const char *skill, int type)
archetype * get(const std::string &name)
void clearReplaceListener()
archetype * findByTypeSubtype(int type, int subtype)
virtual void replace(archetype *existing, archetype *update)
std::function< void(archetype *, archetype *)> updateListener
archetype * findByObjectName(const char *name)
updateListener m_updateListener
archetype * findByObjectTypeName(int type, const char *name)
void setReplaceListener(updateListener fct)