protected override YAMLMappingNode ExportYAMLRoot(IExportContainer container) { YAMLMappingNode node = base.ExportYAMLRoot(container); node.AddSerializedVersion(ToSerializedVersion(container.ExportVersion)); node.Add(TypeName, (int)Type); if (HasShape(container.ExportVersion)) { node.Add(ShapeName, (int)Shape); } node.Add(ColorName, Color.ExportYAML(container)); node.Add(IntensityName, Intensity); node.Add(RangeName, Range); node.Add(SpotAngleName, SpotAngle); if (HasInnerSpotAngle(container.ExportVersion)) { node.Add(InnerSpotAngleName, InnerSpotAngle); } node.Add(CookieSizeName, CookieSize); node.Add(ShadowsName, Shadows.ExportYAML(container)); node.Add(CookieName, Cookie.ExportYAML(container)); node.Add(DrawHaloName, DrawHalo); if (HasBakingOutput(container.ExportVersion, container.ExportFlags)) { node.Add(BakingOutputName, BakingOutput.ExportYAML(container)); } node.Add(FlareName, Flare.ExportYAML(container)); node.Add(RenderModeName, (int)RenderMode); node.Add(CullingMaskName, CullingMask.ExportYAML(container)); if (HasRenderingLayerMask(container.ExportVersion)) { node.Add(RenderingLayerMaskName, RenderingLayerMask); } node.Add(LightmappingName, (int)Lightmapping); node.Add(AreaSizeName, AreaSize.ExportYAML(container)); node.Add(BounceIntensityName, BounceIntensity); node.Add(ColorTemperatureName, ColorTemperature); node.Add(UseColorTemperatureName, UseColorTemperature); if (HasBoundingSphereOverride(container.ExportVersion)) { node.Add(BoundingSphereOverrideName, BoundingSphereOverride.ExportYAML(container)); node.Add(UseBoundingSphereOverrideName, UseBoundingSphereOverride); } node.Add(ShadowRadiusName, GetShadowRadius(container.Version, container.Flags)); node.Add(ShadowAngleName, GetShadowAngle(container.Version, container.Flags)); return(node); }
public override void Read(AssetReader reader) { base.Read(reader); Type = (LightType)reader.ReadInt32(); if (HasShape(reader.Version)) { Shape = (LightShape)reader.ReadInt32(); } Color.Read(reader); if (HasAttenuate(reader.Version)) { Attenuate = reader.ReadBoolean(); if (IsAlign(reader.Version)) { reader.AlignStream(); } } if (HasIntensity(reader.Version)) { Intensity = reader.ReadSingle(); } Range = reader.ReadSingle(); SpotAngle = reader.ReadSingle(); if (HasInnerSpotAngle(reader.Version)) { InnerSpotAngle = reader.ReadSingle(); } if (HasCookieSize(reader.Version)) { CookieSize = reader.ReadSingle(); } if (HasShadows(reader.Version)) { Shadows.Read(reader); } Cookie.Read(reader); DrawHalo = reader.ReadBoolean(); if (HasActuallyLightmapped(reader.Version)) { ActuallyLightmapped = reader.ReadBoolean(); } if (IsAlign(reader.Version)) { reader.AlignStream(); } if (HasBakedIndex(reader.Version)) { BakedIndex = reader.ReadInt32(); } if (HasBakingOutput(reader.Version, reader.Flags)) { BakingOutput.Read(reader); } Flare.Read(reader); RenderMode = (LightRenderMode)reader.ReadInt32(); if (HasCullingMask(reader.Version)) { CullingMask.Read(reader); } if (HasRenderingLayerMask(reader.Version)) { RenderingLayerMask = reader.ReadInt32(); } if (HasLightmapping(reader.Version)) { Lightmapping = (LightmappingMode)reader.ReadInt32(); } if (HasLightShadowCasterMode(reader.Version)) { LightShadowCasterMode = (LightShadowCasterMode)reader.ReadInt32(); } if (HasAreaSize(reader.Version)) { AreaSize.Read(reader); } if (HasBounceIntensity(reader.Version)) { BounceIntensity = reader.ReadSingle(); } if (HasFalloffTable(reader.Version)) { FalloffTable.Read(reader); } if (HasColorTemperature(reader.Version)) { ColorTemperature = reader.ReadSingle(); } if (HasUseColorTemperature(reader.Version)) { UseColorTemperature = reader.ReadBoolean(); reader.AlignStream(); } if (HasBoundingSphereOverride(reader.Version)) { BoundingSphereOverride.Read(reader); UseBoundingSphereOverride = reader.ReadBoolean(); reader.AlignStream(); } #if UNIVERSAL if (HasShadowRadius(reader.Version, reader.Flags)) { ShadowRadius = reader.ReadSingle(); ShadowAngle = reader.ReadSingle(); } #endif }