Beispiel #1
0
 //============================================================
 // <T>从配置节点信息中读取属性。</T>
 //
 // @param xconfig 配置节点
 //============================================================
 public void LoadConfig(FXmlNode xconfig)
 {
     R = xconfig.GetFloat("r");
     G = xconfig.GetFloat("g");
     B = xconfig.GetFloat("b");
     A = xconfig.GetFloat("a");
 }
Beispiel #2
0
 //============================================================
 public void LoadConfig(FXmlNode config)
 {
     X = config.GetFloat("x");
     Y = config.GetFloat("y");
     Z = config.GetFloat("z");
     W = config.GetFloat("w");
 }
Beispiel #3
0
 //============================================================
 public void LoadConfig(FXmlNode config, string r, string g, string b, string a)
 {
     R = config.GetFloat(r, R);
     G = config.GetFloat(g, G);
     B = config.GetFloat(b, B);
     A = config.GetFloat(a, A);
 }
Beispiel #4
0
 //============================================================
 // <T>加载配置信息。</T>
 //
 // @param xconfig 配置信息
 //============================================================
 public void LoadConfig(FXmlNode xconfig, string code)
 {
     _base  = xconfig.GetFloat("base" + code);
     _rate  = xconfig.GetFloat("rate" + code);
     _level = xconfig.GetFloat("level" + code);
     _range = xconfig.GetFloat("range" + code);
 }
Beispiel #5
0
 //============================================================
 // <T>加载配置信息。</T>
 //
 // @param xconfig 配置信息
 //============================================================
 public void LoadConfig(FXmlNode xconfig)
 {
     // 读取属性
     _angle = xconfig.GetFloat("angle");
     _near  = xconfig.GetFloat("near");
     _far   = xconfig.GetFloat("far");
 }
Beispiel #6
0
 //============================================================
 // <T>从配置节点信息中读取属性。</T>
 //
 // @param xconfig 配置节点
 //============================================================
 public void LoadConfigPower(FXmlNode config)
 {
     R = config.GetFloat("r", R);
     G = config.GetFloat("g", G);
     B = config.GetFloat("b", B);
     A = config.GetFloat("power", 1.0f);
 }
Beispiel #7
0
 //============================================================
 // <T>加载设置信息。</T>
 //
 // @param xconfig 设置信息
 //============================================================
 public override void OnLoadConfig(FXmlNode xconfig)
 {
     base.OnLoadConfig(xconfig);
     // 读取数据
     _minimumValue = xconfig.GetFloat("minimum_value", _minimumValue);
     _maximumValue = xconfig.GetFloat("maximum_value", _maximumValue);
     _currentValue = xconfig.GetFloat("current_value", _currentValue);
     _changeSmall  = xconfig.GetFloat("change_small", _changeSmall);
 }
Beispiel #8
0
 //============================================================
 // <T>从配置节点信息中读取属性。</T>
 //
 // @param xconfig 配置节点
 //============================================================
 public void LoadConfig3(FXmlNode config)
 {
     if (config.Contains("cr"))
     {
         R = config.GetFloat("cr") / 255;
     }
     else if (config.Contains("r"))
     {
         R = config.GetFloat("r");
     }
     if (config.Contains("cg"))
     {
         G = config.GetFloat("cg") / 255;
     }
     else if (config.Contains("g"))
     {
         G = config.GetFloat("g");
     }
     if (config.Contains("cb"))
     {
         B = config.GetFloat("cb") / 255;
     }
     else if (config.Contains("b"))
     {
         B = config.GetFloat("b");
     }
     if (config.Contains("ca"))
     {
         A = config.GetFloat("ca") / 255;
     }
     else if (config.Contains("a"))
     {
         A = config.GetFloat("a");
     }
 }
 //============================================================
 // <T>加载配置信息。</T>
 //
 // @param config 配置信息
 //============================================================
 public void LoadConfig(FXmlNode xconfig)
 {
     _name       = xconfig.Nvl("name");
     _playCd     = xconfig.GetInteger("play_cd", _playCd);
     _frameBegin = xconfig.GetInteger("frame_begin");
     _frameEnd   = xconfig.GetInteger("frame_end");
     if (xconfig.Contains("rate"))
     {
         _frameRate = xconfig.GetFloat("rate");
     }
     if (xconfig.Contains("frame_rate"))
     {
         _frameRate = xconfig.GetFloat("frame_rate");
     }
 }
Beispiel #10
0
 //============================================================
 // <T>加载配置信息。</T>
 //
 // @param config 配置信息x
 //============================================================
 public void LoadConfig(FXmlNode config)
 {
     _name       = config.Get("name");
     _playCd     = config.GetInteger("play_cd", _playCd);
     _frameBegin = config.GetInteger("frame_begin");
     _frameEnd   = config.GetInteger("frame_end");
     if (config.Contains("frame_rate"))
     {
         _rate = config.GetFloat("frame_rate");
     }
     else
     {
         _rate = config.GetFloat("rate");
     }
 }
Beispiel #11
0
 //============================================================
 // <T>加载简要配置信息。</T>
 //
 // @param config 配置信息
 //============================================================
 public void LoadSimpleAngleConfig(FXmlNode config)
 {
     _translation.X = config.GetFloat("tx");
     _translation.Y = config.GetFloat("ty");
     _translation.Z = config.GetFloat("tz");
     _euler.X       = config.GetFloat("rx") * RFloat.DegreeRate;
     _euler.Y       = config.GetFloat("ry") * RFloat.DegreeRate;
     _euler.Z       = config.GetFloat("rz") * RFloat.DegreeRate;
     _scale.X       = config.GetFloat("sx");
     _scale.Y       = config.GetFloat("sy");
     _scale.Z       = config.GetFloat("sz");
 }
Beispiel #12
0
 //============================================================
 // <T>加载配置信息。</T>
 //
 // @param xconfig 配置信息
 //============================================================
 public void LoadSimpleDegreeConfig(FXmlNode xconfig)
 {
     tx = xconfig.GetFloat("tx");
     ty = xconfig.GetFloat("ty");
     tz = xconfig.GetFloat("tz");
     rx = xconfig.GetFloat("rx") * RFloat.DegreeRate;
     ry = xconfig.GetFloat("ry") * RFloat.DegreeRate;
     rz = xconfig.GetFloat("rz") * RFloat.DegreeRate;
     sx = xconfig.GetFloat("sx");
     sy = xconfig.GetFloat("sy");
     sz = xconfig.GetFloat("sz");
     Update();
 }
Beispiel #13
0
        //============================================================
        // <T>加载配置信息。</T>
        //
        // @param config 配置信息
        //============================================================
        public void LoadConfig(FXmlNode xconfig)
        {
            // 加载编号
            _id = xconfig.GetInteger("id");
            // 加载名称
            _name = xconfig.Get("name");
            // 加载层数
            _layerCount = xconfig.GetInteger("layer_count");
            // 加载尺寸
            _size.Parse(xconfig.Get("size"));
            // 加载切割尺寸
            _range.Parse(xconfig.Get("range"));
            // 加载深度
            _deep = xconfig.GetFloat("deep");

            _incise = RInt.Parse(xconfig.GetFloat("deep"));
            //............................................................
            // 加载高度纹理
            FXmlNode xheight = xconfig.Find("Height");

            if (null != xheight)
            {
                _textureHeight = xheight.Get("source");
            }
            // 加载颜色纹理
            FXmlNode xcolor = xconfig.Find("Color");

            if (null != xcolor)
            {
                _textureColor = xcolor.Get("source");
            }
            //............................................................
            // 加载层信息
            FXmlNode xlayers = xconfig.Find("Layers");

            if (null != xlayers)
            {
                foreach (FXmlNode xlayer in xlayers.Nodes)
                {
                    FDrMapLayer layer = new FDrMapLayer();
                    layer.Index = _layers.Count;
                    layer.LoadConfig(xlayer);
                    _layers.Push(layer);
                }
            }
        }
Beispiel #14
0
        //============================================================
        // <T>加载配置信息。</T>
        //
        // @param xconfig 配置信息
        //============================================================
        public void LoadConfig(FXmlNode xconfig)
        {
            // 读取属性
            _name  = xconfig.Nvl("name");
            _label = String.Empty;
            // 读取设置
            LoadConfigInfo(xconfig);
            // 读取高度
            FXmlNode xheight = xconfig.Find("Height");

            if (null != xheight)
            {
                //_optionHeight = xconfig.GetInteger("option_height", _optionHeight);
                _heightDepth = xheight.GetFloat("depth");
            }
            // 读取表面
            FXmlNode xsurface = xconfig.Find("Surface");

            if (null != xsurface)
            {
                _surfaceRate        = xsurface.GetFloat("rate");
                _surfaceReflect     = xsurface.GetFloat("reflect");
                _surfaceBright      = xsurface.GetFloat("bright");
                _surfaceBrightLevel = xsurface.GetFloat("bright_level");
                _surfaceCoarse      = xsurface.GetFloat("coarse");
                _surfaceCoarseLevel = xsurface.GetFloat("coarse_level");
                _surfaceMerge       = xsurface.GetFloat("merge");
                _surfacePower       = xsurface.GetFloat("power");
            }
            if (!RString.IsEmpty(_name))
            {
                _material = RContent3dManager.MaterialConsole.FindDefault(_scene.ThemeName, _name);
                if (null == _material)
                {
                    RMoCore.TrackConsole.Write(this, "LoadConfig", "Scene material is not exists. (scene={0}, material={1})", _scene.Code, Code);
                }
                else
                {
                    _label               = _material.Group.Label;
                    _transformName       = _material.TransformName;
                    _optionLight         = _material.OptionLight;
                    _optionMerge         = _material.OptionMerge;
                    _optionSort          = _material.OptionSort;
                    _sortLevel           = _material.SortLevel;
                    _optionAlpha         = _material.OptionAlpha;
                    _optionDepth         = _material.OptionDepth;
                    _optionCompare       = _material.OptionCompare;
                    _optionDouble        = _material.OptionDouble;
                    _optionShadow        = _material.OptionShadow;
                    _optionShadowSelf    = _material.OptionShadowSelf;
                    _optionDynamic       = _material.OptionDynamic;
                    _optionTransmittance = _material.OptionTransmittance;
                    _optionOpacity       = _material.OptionOpacity;
                }
            }
        }
Beispiel #15
0
 //============================================================
 // <T>加载配置信息。</T>
 //
 // @param xconfig 配置信息
 //============================================================
 public void LoadOrignConfig(FXmlNode xconfig, string code)
 {
     if (xconfig.Contains("base" + code))
     {
         _base = xconfig.GetFloat("base" + code);
     }
     if (xconfig.Contains("rate" + code))
     {
         _rate = xconfig.GetFloat("rate" + code);
     }
     if (xconfig.Contains("level" + code))
     {
         _level = xconfig.GetFloat("level" + code);
     }
     if (xconfig.Contains("range" + code))
     {
         _range = xconfig.GetFloat("range" + code);
     }
 }
Beispiel #16
0
 //============================================================
 // <T>加载设置节点。</T>
 //
 // @param xconfig 配置节点
 //============================================================
 public override void LoadConfig(FXmlNode xconfig)
 {
     base.LoadConfig(xconfig);
     _color    = Color.FromArgb(RInt.ParseHex(xconfig.Get("color")));
     _alpha    = xconfig.GetFloat("alpha");
     _blurX    = xconfig.GetInteger("blur_x");
     _blurY    = xconfig.GetInteger("blur_y");
     _strength = xconfig.GetInteger("strength");
     _quality  = xconfig.GetInteger("quality");
     _inner    = xconfig.GetBoolean("inner");
     _knockout = xconfig.GetBoolean("knockout");
 }
Beispiel #17
0
        //============================================================
        // <T>加载配置文件。</T>
        //============================================================
        public void LoadConfig(FXmlNode config)
        {
            if (config.Contains("cell_count"))
            {
                _cellCount.Parse(config.Get("cell_count"));
            }
            if (config.Contains("cell_size"))
            {
                _cellSize.Parse(config.Get("cell_size"));
            }
            if (config.Contains("type_cd"))
            {
                _typeCd = REnum.ToValue <EMapLayerType>(config.Get("type_cd"));
            }
            if (config.Contains("scroll_cd"))
            {
                _scrollCd = REnum.ToValue <EMapLayerScroll>(config.Get("scroll_cd"));
            }
            if (config.Contains("wrap_cd"))
            {
                _wrapCd = REnum.ToValue <EMapLayerWrap>(config.Get("wrap_cd"));
            }
            if (config.Contains("scroll_speed"))
            {
                _scrollSpeed = config.GetFloat("scroll_speed");
            }
            _tileNode = config.Find("Tiles");
            if (null == _tileNode)
            {
                return;
            }
            // 创建所有格子
            for (int m = 0; m < _cellCount.Height; m++)
            {
                for (int n = 0; n < _cellCount.Width; n++)
                {
                    FMbMapCell cell = new FMbMapCell();
                    cell.Index = new SIntPoint2(n, m);
                    _mapCell.Push(cell);
                }
            }

            // 加载格子资源图片编号
            foreach (FXmlNode cellNode in _tileNode.Nodes)
            {
                FDsMapCell cell = new FDsMapCell();
                cell.Resource.LoadConfig(cellNode);
                SIntPoint2 cellIndex = cell.Resource.Index;
                FMbMapCell c         = FingCellByIndex(cellIndex.X, cellIndex.Y);
                c.ResourceId = cell.Resource.ResourceId;
            }
        }
Beispiel #18
0
 //============================================================
 // <T>加载配置信息。</T>
 //
 // @param xconfig 配置信息
 //============================================================
 public void LoadOrignConfig(FXmlNode xconfig)
 {
     // 读取属性
     _typeName = xconfig.Get("type");
     if (xconfig.Contains("center_front"))
     {
         _centerFront = xconfig.GetFloat("center_front");
     }
     if (xconfig.Contains("center_back"))
     {
         _centerBack = xconfig.GetFloat("center_back");
     }
     // 读取节点集合
     foreach (FXmlNode xnode in xconfig.Nodes)
     {
         // 读取位置
         if (xnode.IsName("Position"))
         {
             _position.LoadConfig(xnode);
         }
         // 读取方向
         if (xnode.IsName("Direction"))
         {
             _direction.LoadConfig(xnode);
         }
         // 读取焦平面
         if (xnode.IsName("Focal"))
         {
             _focalNear = xnode.GetFloat("near", _focalNear);
             _focalFar  = xnode.GetFloat("far", _focalFar);
         }
         // 读取视角
         if (xnode.IsName("Viewport"))
         {
             _viewport.LoadOrignConfig(xnode);
         }
     }
 }
Beispiel #19
0
        //============================================================
        // <T>加载模型设置。</T>
        //
        // @param xconfig 设置信息
        //============================================================
        public void LoadModelConfig(FXmlNode xconfig)
        {
            _dataName = xconfig.Get("name");
            // 读取环境光
            FXmlNode ambientNode = xconfig.Find("Ambient");

            if (null != ambientNode)
            {
                _ambient.LoadConfig3(ambientNode);
            }
            // 读取散射光
            FXmlNode diffuseNode = xconfig.Find("Diffuse");

            if (null != diffuseNode)
            {
                _diffuse.LoadConfig3(diffuseNode);
            }
            // 读取全反射
            FXmlNode specularNode = xconfig.Find("Specular");

            if (null != specularNode)
            {
                _specular.LoadConfig3(specularNode);
            }
            // 读取全反射级别
            FXmlNode specularLevelNode = xconfig.Find("SpecularLevel");

            if (null != specularLevelNode)
            {
                _specular.A = specularLevelNode.GetFloat("value");
            }
            // 读取自发光
            FXmlNode emissiveNode = xconfig.Find("Emissive");

            if (null != emissiveNode)
            {
                _emissive.LoadConfig3(emissiveNode);
            }
            FXmlNode emissiveAmtNode = xconfig.Find("EmissiveAmt");

            if (null != emissiveAmtNode)
            {
                _emissive.A = emissiveAmtNode.GetFloat("value");
            }
        }
Beispiel #20
0
 //============================================================
 // <T>加载配置信息。</T>
 //
 // @param config 配置信息
 //============================================================
 public void LoadConfig(FXmlNode config)
 {
     _color.R = config.GetFloat("x");
     _color.G = config.GetFloat("y");
     _color.B = config.GetFloat("z");
 }
Beispiel #21
0
        //============================================================
        // <T>加载配置信息。</T>
        //
        // @param config 配置信息
        //============================================================
        public void LoadConfigInfo(FXmlNode xconfig)
        {
            // 读取属性
            _effectName          = xconfig.Nvl("effect_name");
            _transformName       = xconfig.Nvl("transform_name");
            _optionLight         = xconfig.GetInteger("option_light", _optionLight);
            _optionMerge         = xconfig.GetInteger("option_merge", _optionMerge);
            _optionSort          = xconfig.GetInteger("option_sort", _optionSort);
            _sortLevel           = xconfig.GetInteger("sort_level", _sortLevel);
            _optionAlpha         = xconfig.GetInteger("option_alpha", _optionAlpha);
            _optionDepth         = xconfig.GetInteger("option_depth", _optionDepth);
            _optionCompare       = xconfig.Get("option_compare", _optionCompare);
            _optionDouble        = xconfig.GetInteger("option_double", _optionDouble);
            _optionShadow        = xconfig.GetInteger("option_shadow", _optionShadow);
            _optionShadowSelf    = xconfig.GetInteger("option_shadow_self", _optionShadowSelf);
            _optionDynamic       = xconfig.GetInteger("option_dynamic", _optionDynamic);
            _optionTransmittance = xconfig.GetInteger("option_transmittance", _optionTransmittance);
            _optionOpacity       = xconfig.GetInteger("option_opacity", _optionOpacity);
            // 读取纹理
            FXmlNode xcoord = xconfig.Find("Coord");

            if (null != xcoord)
            {
                _coordRateWidth  = xcoord.GetFloat("rate_width", _coordRateWidth);
                _coordRateHeight = xcoord.GetFloat("rate_height", _coordRateHeight);
            }
            // 读取颜色
            FXmlNode xcolor = xconfig.Find("Color");

            if (null != xcolor)
            {
                _colorMin   = xcolor.GetFloat("min", _colorMin);
                _colorMax   = xcolor.GetFloat("max", _colorMax);
                _colorRate  = xcolor.GetFloat("rate", _colorRate);
                _colorMerge = xcolor.GetFloat("merge", _colorMerge);
            }
            // 读取透明信息
            FXmlNode xalpha = xconfig.Find("Alpha");

            if (null != xalpha)
            {
                _alphaBase  = xalpha.GetFloat("base", _alphaBase);
                _alphaRate  = xalpha.GetFloat("rate", _alphaRate);
                _alphaLevel = xalpha.GetFloat("level", _alphaLevel);
                _alphaMerge = xalpha.GetFloat("merge", _alphaMerge);
            }
            // 读取环境光
            FXmlNode xambient = xconfig.Find("Ambient");

            if (null != xambient)
            {
                _ambientColor.LoadConfigPower(xambient);
                _ambientShadow = xambient.GetFloat("shadow", _ambientShadow);
            }
            // 读取散射光
            FXmlNode xdiffuse = xconfig.Find("Diffuse");

            if (null != xdiffuse)
            {
                _diffuseColor.LoadConfigPower(xdiffuse);
                _diffuseShadow = xdiffuse.GetFloat("shadow", _diffuseShadow);
            }
            // 读取视角散射光
            FXmlNode xdiffuseview = xconfig.Find("DiffuseView");

            if (null != xdiffuseview)
            {
                _diffuseViewColor.LoadConfigPower(xdiffuseview);
                _diffuseViewShadow = xdiffuseview.GetFloat("shadow", _diffuseViewShadow);
            }
            // 读取高光
            FXmlNode xspecular = xconfig.Find("Specular");

            if (null != xspecular)
            {
                _specularColor.LoadConfigPower(xspecular);
                _specularBase    = xspecular.GetFloat("base", _specularBase);
                _specularRate    = xspecular.GetFloat("rate", _specularRate);
                _specularAverage = xspecular.GetFloat("average", _specularAverage);
                _specularShadow  = xspecular.GetFloat("shadow", _specularShadow);
            }
            // 读取视角高光
            FXmlNode xspecularview = xconfig.Find("SpecularView");

            if (null != xspecularview)
            {
                _specularViewColor.LoadConfigPower(xspecularview);
                _specularViewBase    = xspecularview.GetFloat("base", _specularViewBase);
                _specularViewRate    = xspecularview.GetFloat("rate", _specularViewRate);
                _specularViewAverage = xspecularview.GetFloat("average", _specularViewAverage);
                _specularViewShadow  = xspecularview.GetFloat("shadow", _specularViewShadow);
            }
            // 读取反射光
            FXmlNode xreflect = xconfig.Find("Reflect");

            if (null != xreflect)
            {
                _reflectColor.LoadConfigPower(xreflect);
                _reflectMerge  = xreflect.GetFloat("merge", _reflectMerge);
                _reflectShadow = xreflect.GetFloat("shadow", _reflectShadow);
            }
            // 读取前折射光
            FXmlNode xrefractFront = xconfig.Find("RefractFront");

            if (null != xrefractFront)
            {
                _refractFrontColor.LoadConfigPower(xrefractFront);
            }
            // 读取后折射光
            FXmlNode xrefractBack = xconfig.Find("RefractBack");

            if (null != xrefractBack)
            {
                _refractBackColor.LoadConfigPower(xrefractBack);
            }
            // 读取不透明度
            FXmlNode xopacity = xconfig.Find("Opacity");

            if (null != xopacity)
            {
                _opacityColorColor.LoadConfigPower(xopacity);
                _opacityRate          = xopacity.GetFloat("rate", _opacityRate);
                _opacityAlpha         = xopacity.GetFloat("alpha", _opacityAlpha);
                _opacityDepth         = xopacity.GetFloat("depth", _opacityDepth);
                _opacityTransmittance = xopacity.GetFloat("transmittance", _opacityTransmittance);
            }
            // 读取自发光
            FXmlNode xemissive = xconfig.Find("Emissive");

            if (null != xemissive)
            {
                _emissiveColor.LoadConfigPower(xemissive);
            }
        }
Beispiel #22
0
 //============================================================
 public void LoadConfig(FXmlNode config)
 {
     R = config.GetFloat("r");
     G = config.GetFloat("g");
     B = config.GetFloat("b");
 }
Beispiel #23
0
        //============================================================
        // <T>加载配置信息。</T>
        //
        // @param xconfig 配置信息
        //============================================================
        public void LoadOrignConfig(FXmlNode xconfig)
        {
            // 读取属性
            _name       = xconfig.Nvl("name");
            _effectName = xconfig.Nvl("effect_name");
            if (xconfig.Contains("option_double"))
            {
                _optionDouble = EDrFlag.FromBoolean(xconfig.GetBoolean("option_double"));
            }
            if (xconfig.Contains("option_opacity"))
            {
                _optionOpacity = EDrFlag.FromBoolean(xconfig.GetBoolean("option_opacity"));
            }
            if (xconfig.Contains("option_shadow"))
            {
                _optionShadow = EDrFlag.FromBoolean(xconfig.GetBoolean("option_shadow"));
            }
            if (xconfig.Contains("option_transmittance"))
            {
                _optionTransmittance = EDrFlag.FromBoolean(xconfig.GetBoolean("option_transmittance"));
            }
            // 读取颜色
            FXmlNode xcolor = xconfig.Find("Color");

            if (null != xcolor)
            {
                _colorMin = xcolor.GetFloat("min");
                _colorMax = xcolor.GetFloat("max");
                if (xcolor.Contains("merge"))
                {
                    _colorMerge = xcolor.GetFloat("merge");
                }
                if (xcolor.Contains("rate"))
                {
                    _colorRate = xcolor.GetFloat("rate");
                }
            }
            // 读取环境光
            FXmlNode xalpha = xconfig.Find("Alpha");

            if (null != xalpha)
            {
                _optionAlpha = EDrFlag.FromBoolean(xalpha.GetBoolean("enable"));
                _alphaBase   = xalpha.GetFloat("base");
                _alphaRate   = xalpha.GetFloat("rate");
                _alphaLevel  = xalpha.GetFloat("level");
                _alphaMerge  = xalpha.GetFloat("merge");
            }
            // 读取环境光
            FXmlNode xambient = xconfig.Find("Ambient");

            if (null != xambient)
            {
                _ambientColor.LoadConfig(xambient, "r", "g", "b", "power");
                _ambientShadow = xambient.GetFloat("shadow", _ambientShadow);
            }
            // 读取散射光
            FXmlNode xdiffuse = xconfig.Find("Diffuse");

            if (null != xdiffuse)
            {
                _diffuseColor.LoadConfig(xdiffuse, "r", "g", "b", "power");
                _diffuseShadow = xdiffuse.GetFloat("shadow", _diffuseShadow);
                _diffuseViewColor.LoadConfig(xdiffuse, "camera_r", "camera_g", "camera_b", "camera_power");
                _diffuseViewShadow = xdiffuse.GetFloat("camera_shadow", _diffuseViewShadow);
            }
            // 读取反射光
            FXmlNode xspecular = xconfig.Find("Specular");

            if (null != xspecular)
            {
                _specularColor.LoadConfig(xspecular, "r", "g", "b", "power");
                _specularBase    = xspecular.GetFloat("base", _specularBase);
                _specularRate    = xspecular.GetFloat("rate", _specularRate);
                _specularAverage = xspecular.GetFloat("average", _specularAverage);
                _specularShadow  = xspecular.GetFloat("shadow", _specularShadow);
                _specularViewColor.LoadConfig(xspecular, "camera_r", "camera_g", "camera_b", "camera_power");
                _specularViewBase    = xspecular.GetFloat("camera_base", _specularViewBase);
                _specularViewRate    = xspecular.GetFloat("camera_rate", _specularViewRate);
                _specularViewAverage = xspecular.GetFloat("camera_average", _specularViewAverage);
                _specularViewShadow  = xspecular.GetFloat("camera_shadow", _specularViewShadow);
            }
            // 读取自发光
            FXmlNode xreflect = xconfig.Find("Reflect");

            if (null != xreflect)
            {
                _reflectColor.LoadConfig(xreflect, "r", "g", "b", "power");
                _reflectMerge  = xreflect.GetFloat("merge", _reflectMerge);
                _reflectShadow = xreflect.GetFloat("shadow", _reflectShadow);
            }
            // 读取折射
            FXmlNode xrefract = xconfig.Find("Refract");

            if (null != xrefract)
            {
                _refractFrontColor.LoadConfig(xrefract, "front_r", "front_g", "front_b", "front_power");
                _refractFrontMerge  = xrefract.GetFloat("front_merge", _refractFrontMerge);
                _refractFrontShadow = xrefract.GetFloat("front_shadow", _refractFrontShadow);
                _refractBackColor.LoadConfig(xrefract, "back_r", "back_g", "back_b", "back_power");
                _refractBackMerge  = xrefract.GetFloat("back_merge", _refractBackMerge);
                _refractBackShadow = xrefract.GetFloat("back_shadow", _refractBackShadow);
            }
            // 读取不透明度
            FXmlNode xopacity = xconfig.Find("Opacity");

            if (null != xopacity)
            {
                _optionOpacity = EDrFlag.FromBoolean(xopacity.GetBoolean("enable"));
                _opacityColorColor.LoadConfigPower(xopacity);
                _opacityRate          = xopacity.GetFloat("rate", _opacityRate);
                _opacityAlpha         = xopacity.GetFloat("alpha", _opacityAlpha);
                _opacityDepth         = xopacity.GetFloat("depth", _opacityDepth);
                _opacityTransmittance = xopacity.GetFloat("transmittance", _opacityTransmittance);
            }
            // 读取自发光
            FXmlNode xemissive = xconfig.Find("Emissive");

            if (null != xemissive)
            {
                _emissiveColor.LoadConfigPower(xemissive);
            }
            // 读取高度
            FXmlNode xheight = xconfig.Find("Height");

            if (null != xheight)
            {
                //_optionHeight = EDrFlag.FromBoolean(xheight.GetBoolean("enable"));
                _heightDepth = xheight.GetFloat("depth", _heightDepth);
            }
            // 读取表面
            FXmlNode xsurface = xconfig.Find("Surface");

            if (null != xsurface)
            {
                _surfaceRate        = xsurface.GetFloat("rate", _surfaceRate);
                _surfaceReflect     = xsurface.GetFloat("reflect", _surfaceReflect);
                _surfaceBright      = xsurface.GetFloat("bright", _surfaceBright);
                _surfaceBrightLevel = xsurface.GetFloat("bright_level", _surfaceBrightLevel);
                _surfaceCoarse      = xsurface.GetFloat("coarse", _surfaceCoarse);
                _surfaceCoarseLevel = xsurface.GetFloat("coarse_level", _surfaceCoarseLevel);
                _surfaceMerge       = xsurface.GetFloat("merge", _surfaceMerge);
                _surfacePower       = xsurface.GetFloat("power", _surfacePower);
            }
        }
Beispiel #24
0
 //============================================================
 // <T>加载配置信息。</T>
 //
 // @param config 配置信息
 //============================================================
 public void LoadConfig(FXmlNode config)
 {
     _boneId = config.GetInteger("bone_id");
     _weight = config.GetFloat("weight");
 }
Beispiel #25
0
 //============================================================
 // <T>加载配置信息。</T>
 //
 // @param xconfig 配置信息
 //============================================================
 public void LoadConfig(FXmlNode xconfig)
 {
     X = xconfig.GetFloat("x");
     Y = xconfig.GetFloat("y");
     Z = xconfig.GetFloat("z");
 }