Example #1
0
        /// <summary>
        /// Called when deserializing
        /// </summary>
        /// <param name="info"></param>
        /// <param name="context"></param>
        protected MirrorShape(SerializationInfo info, StreamingContext context)
            : base(info, context)
        {
            _fSizeX = info.GetSingle("_fSizeX");
              _fSizeY = info.GetSingle("_fSizeY");
              _shaderFX = (ShaderEffectConfig)info.GetValue("_shaderFX",typeof(ShaderEffectConfig));
              _shaderFX.OnShaderEffectChanged += new CSharpFramework.Scene.ShaderEffectConfig.ShaderEffectChangedEventHandler(_shaderFX_OnShaderEffectChanged);
              _shaderFX.Owner = this;

              if (SerializationHelper.HasElement(info,"_iResolution"))
            _iResolution = info.GetInt32("_iResolution");
              if (SerializationHelper.HasElement(info,"_modelFile"))
            _modelFile = info.GetString("_modelFile");
              if (SerializationHelper.HasElement(info,"_farClipDist"))
            _farClipDist = info.GetSingle("_farClipDist");
              if (SerializationHelper.HasElement(info,"_iContextBitmask"))
            _iContextBitmask = (FlagsInt32_e)info.GetValue("_iContextBitmask", typeof(FlagsInt32_e));
              if (SerializationHelper.HasElement(info, "_reflectionShaderMode"))
            _reflectionShaderMode = (ReflectionShaderMode)info.GetValue("_reflectionShaderMode", typeof(ReflectionShaderMode));
              if (SerializationHelper.HasElement(info, "_bRenderExtObj"))
            _bRenderExtObj = info.GetBoolean("_bRenderExtObj");
              if (SerializationHelper.HasElement(info, "_fFovScale"))
            _fFovScale = info.GetSingle("_fFovScale");
              if (SerializationHelper.HasElement(info, "_fObliqueClippingPlaneOffset"))
            _fObliqueClippingPlaneOffset = info.GetSingle("_fObliqueClippingPlaneOffset");
              if (SerializationHelper.HasElement(info, "_bLODFromRefContext"))
            _bLODFromRefContext = info.GetBoolean("_bLODFromRefContext");
              if (SerializationHelper.HasElement(info, "_bUseHDR"))
            _bUseHDR = info.GetBoolean("_bUseHDR");

              if (SerializationHelper.HasElement(info, "_renderHook3"))
              {
            _renderHook = (RenderOrderBits_e)info.GetValue("_renderHook3", typeof(RenderOrderBits_e));
              }
              else if (SerializationHelper.HasElement(info, "_renderHook2"))
              {
            RenderOrderBits_e eRH;
            eRH = (RenderOrderBits_e)info.GetValue("_renderHook2", typeof(RenderOrderBits_e));

            // toggle VRH_ADDITIVE_PARTICLES with VRH_TRANSLUCENT_VOLUMES so that the VRenderHook_e enum order matches the execution order
            if (eRH == RenderOrderBits_e.AdditiveParticles)       _renderHook = RenderOrderBits_e.TranslucentVolumes;
            else if (eRH == RenderOrderBits_e.TranslucentVolumes) _renderHook = RenderOrderBits_e.AdditiveParticles;
            else                                                  _renderHook = eRH;
              }
              else if (SerializationHelper.HasElement(info, "_renderHook"))
              {
            int oldValue = info.GetInt32("_renderHook");
            _renderHook = ConversionUtils.UpdateRenderOrderBits(oldValue);
              }

              // backwards compatibility
              if (!SerializationHelper.HasElement(info, "SupportScaling"))
            SetScaling_Internal(1.0f, 1.0f, 1.0f);

              if (LinkTargets.Count==0) // old version
            this.CreateAllLinks();
        }
 /// <summary>
 /// Called when deserializing
 /// </summary>
 /// <param name="info"></param>
 /// <param name="context"></param>
 protected MobileWaterShape(SerializationInfo info, StreamingContext context)
     : base(info, context)
 {
     AddHint(HintFlags_e.NoScale);
       AddHint(HintFlags_e.OnlyYawRotation);
       _size = (Vector2F)info.GetValue("_size", typeof(Vector2F));
       _useRadialGrid = info.GetBoolean("_useRadialGrid");
       _textureTiling = (Vector2F)info.GetValue("_textureTiling", typeof(Vector2F));
       _gridSubdivisions = (Vector2I)info.GetValue("_gridSubdivisions", typeof(Vector2I));
       _renderHook = (RenderOrderBits_e)info.GetValue("_renderHook", typeof(RenderOrderBits_e));
       _shaderFX = (ShaderEffectConfig)info.GetValue("_shaderFX", typeof(ShaderEffectConfig));
       if (SerializationHelper.HasElement(info, "_useStaticLighting"))
     _useStaticLighting = info.GetBoolean("_useStaticLighting");
       _shaderFX.OnShaderEffectChanged += new CSharpFramework.Scene.ShaderEffectConfig.ShaderEffectChangedEventHandler(_shaderFX_OnShaderEffectChanged);
       _shaderFX.Owner = this;
 }