//============================================================ // <T>加载配置信息。</T> // // @param xconfig 配置信息 //============================================================ public void LoadOrignConfig(FXmlNode xconfig) { // 获得属性 _source = xconfig.Get("src"); _template = RContent3dManager.TemplateConsole.Find(_source); if (null == _template) { RMoCore.TrackConsole.Write(this, "LoadOrignConfig", "Template is not exists. (scene={0}, template={1})", _scene.Name, _source); } // 获得节点集合 foreach (FXmlNode xnode in xconfig.Nodes) { // 加载矩阵 if (xnode.IsName("Matrix")) { _modelMatrix.LoadSingleConfig(xnode); } // 加载动画集合 if (xnode.IsName("Movies")) { foreach (FXmlNode xmovie in xnode.Nodes) { if (xmovie.IsName("Movie")) { FDrSceneMovie movie = new FDrSceneMovie(); movie.LoadOrignConfig(xmovie); _movies.Push(movie); } } } // 加载材质集合 if (xnode.IsName("Materials")) { foreach (FXmlNode xmaterial in xnode.Nodes) { if (xmaterial.IsName("Material")) { FDrSceneMaterial material = new FDrSceneMaterial(); material.Scene = _scene; material.LoadOrignConfig(xmaterial); _materials.Push(material); } } } // 加载渲染集合 if (xnode.IsName("Renderables")) { foreach (FXmlNode xrenderable in xnode.Nodes) { if (xrenderable.IsName("Renderables")) { FDrSceneRenderable renderable = new FDrSceneRenderable(); renderable.LoadOrignConfig(xrenderable); _renderables.Push(renderable); } } } } }