Пример #1
0
 //============================================================
 // <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);
         }
     }
 }
Пример #2
0
 //============================================================
 // <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);
                 }
             }
         }
     }
 }