//============================================================ // <T>加载配置信息。</T> // // @param xconfig 配置信息 //============================================================ public void LoadOrignConfig(FXmlNode xconfig) { // 读取属性 _typeName = xconfig.Get("type"); // 读取节点集合 foreach (FXmlNode xnode in xconfig.Nodes) { // 读取阴影 if (xnode.IsName("Shadow")) { if (xnode.Contains("mode")) { string mode = xnode.Get("mode"); if (mode == "auto") { _optionTrack = EDrFlag.Yes; } } _shadow1.LoadOrignConfig(xnode, "1"); _shadow2.LoadOrignConfig(xnode, "2"); _shadow3.LoadOrignConfig(xnode, "3"); } // 读取材质 if (xnode.IsName("Material")) { _material.LoadOrignConfig(xnode); } // 读取相机 if (xnode.IsName("Camera")) { _camera.LoadOrignConfig(xnode); } } }
//============================================================ // <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); } } } } }