예제 #1
0
		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);
			}
		}
예제 #2
0
  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);
  }