Esempio n. 1
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);
                 }
             }
         }
     }
 }