void instanceAttach (const scene::Path& path) { if (++m_instanceCounter.m_count == 1) { m_entity.instanceAttach(path_find_mapfile(path.begin(), path.end())); m_entity.attach(m_keyObservers); } }
void construct() { default_rotation(m_rotation); m_keyObservers.insert("classname", ClassnameFilter::ClassnameChangedCaller(m_filter)); m_keyObservers.insert(Static<KeyIsName>::instance().m_nameKey, NamedEntity::IdentifierChangedCaller(m_named)); m_keyObservers.insert("model", Doom3Group::ModelChangedCaller(*this)); m_keyObservers.insert("origin", OriginKey::OriginChangedCaller(m_originKey)); m_keyObservers.insert("angle", RotationKey::AngleChangedCaller(m_rotationKey)); m_keyObservers.insert("rotation", RotationKey::RotationChangedCaller(m_rotationKey)); m_keyObservers.insert("name", NameChangedCaller(*this)); m_keyObservers.insert(curve_Nurbs, NURBSCurve::CurveChangedCaller(m_curveNURBS)); m_keyObservers.insert(curve_CatmullRomSpline, CatmullRomSpline::CurveChangedCaller(m_curveCatmullRom)); m_keyObservers.insert("skin", ModelSkinKey::SkinChangedCaller(m_skin)); m_traverseObservers.attach(m_funcStaticOrigin); m_isModel = false; m_nameKeys.setKeyIsName(keyIsNameDoom3Doom3Group); attachTraverse(); m_entity.attach(m_keyObservers); }