示例#1
0
        public override YAMLNode ExportYAML(IExportContainer container)
        {
            YAMLMappingNode node = (YAMLMappingNode)base.ExportYAML(container);

            node.Add(ModeName, (int)Mode);
            node.Add(RatioName, Ratio);
            node.Add(LifetimeName, Lifetime.ExportYAML(container));
            node.Add(MinVertexDistanceName, MinVertexDistance);
            node.Add(TextureModeName, (int)TextureMode);
            node.Add(RibbonCountName, GetExportRibbonCount(container.Version));
            if (HasShadowBias(container.ExportVersion))
            {
                node.Add(ShadowBiasName, ShadowBias);
            }
            node.Add(WorldSpaceName, WorldSpace);
            node.Add(DieWithParticlesName, DieWithParticles);
            node.Add(SizeAffectsWidthName, SizeAffectsWidth);
            node.Add(SizeAffectsLifetimeName, SizeAffectsLifetime);
            node.Add(InheritParticleColorName, InheritParticleColor);
            node.Add(GenerateLightingDataName, GenerateLightingData);
            node.Add(SplitSubEmitterRibbonsName, SplitSubEmitterRibbons);
            if (HasAttachRibbonsToTransform(container.ExportVersion))
            {
                node.Add(AttachRibbonsToTransformName, AttachRibbonsToTransform);
            }
            node.Add(ColorOverLifetimeName, ColorOverLifetime.ExportYAML(container));
            node.Add(WidthOverTrailName, WidthOverTrail.ExportYAML(container));
            node.Add(ColorOverTrailName, ColorOverTrail.ExportYAML(container));
            return(node);
        }
示例#2
0
        public override void Read(AssetStream stream)
        {
            base.Read(stream);

            if (IsReadMode(stream.Version))
            {
                Mode = (ParticleSystemTrailMode)stream.ReadInt32();
            }
            Ratio = stream.ReadSingle();
            Lifetime.Read(stream);
            MinVertexDistance = stream.ReadSingle();
            TextureMode       = stream.ReadInt32();
            if (IsReadRibbonCount(stream.Version))
            {
                RibbonCount = stream.ReadInt32();
            }
            WorldSpace           = stream.ReadBoolean();
            DieWithParticles     = stream.ReadBoolean();
            SizeAffectsWidth     = stream.ReadBoolean();
            SizeAffectsLifetime  = stream.ReadBoolean();
            InheritParticleColor = stream.ReadBoolean();
            if (IsReadGenerateLightingData(stream.Version))
            {
                GenerateLightingData = stream.ReadBoolean();
            }
            if (IsReadSplitSubEmitterRibbons(stream.Version))
            {
                SplitSubEmitterRibbons = stream.ReadBoolean();
            }
            stream.AlignStream(AlignType.Align4);

            ColorOverLifetime.Read(stream);
            WidthOverTrail.Read(stream);
            ColorOverTrail.Read(stream);
        }
示例#3
0
        public override void Read(AssetReader reader)
        {
            base.Read(reader);

            if (HasMode(reader.Version))
            {
                Mode = (ParticleSystemTrailMode)reader.ReadInt32();
            }
            Ratio = reader.ReadSingle();
            Lifetime.Read(reader);
            MinVertexDistance = reader.ReadSingle();
            TextureMode       = (ParticleSystemTrailTextureMode)reader.ReadInt32();
            if (HasRibbonCount(reader.Version))
            {
                RibbonCount = reader.ReadInt32();
            }
            if (HasShadowBias(reader.Version))
            {
                ShadowBias = reader.ReadSingle();
            }
            WorldSpace           = reader.ReadBoolean();
            DieWithParticles     = reader.ReadBoolean();
            SizeAffectsWidth     = reader.ReadBoolean();
            SizeAffectsLifetime  = reader.ReadBoolean();
            InheritParticleColor = reader.ReadBoolean();
            if (HasGenerateLightingData(reader.Version))
            {
                GenerateLightingData = reader.ReadBoolean();
            }
            if (HasSplitSubEmitterRibbons(reader.Version))
            {
                SplitSubEmitterRibbons = reader.ReadBoolean();
            }
            if (HasAttachRibbonsToTransform(reader.Version))
            {
                AttachRibbonsToTransform = reader.ReadBoolean();
            }
            reader.AlignStream();

            ColorOverLifetime.Read(reader);
            WidthOverTrail.Read(reader);
            ColorOverTrail.Read(reader);
        }
示例#4
0
        public override YAMLNode ExportYAML(IExportContainer container)
        {
            YAMLMappingNode node = (YAMLMappingNode)base.ExportYAML(container);

            node.Add("mode", (int)Mode);
            node.Add("ratio", Ratio);
            node.Add("lifetime", Lifetime.ExportYAML(container));
            node.Add("minVertexDistance", MinVertexDistance);
            node.Add("textureMode", TextureMode);
            node.Add("ribbonCount", GetExportRibbonCount(container.Version));
            node.Add("worldSpace", WorldSpace);
            node.Add("dieWithParticles", DieWithParticles);
            node.Add("sizeAffectsWidth", SizeAffectsWidth);
            node.Add("sizeAffectsLifetime", SizeAffectsLifetime);
            node.Add("inheritParticleColor", InheritParticleColor);
            node.Add("generateLightingData", GenerateLightingData);
            node.Add("splitSubEmitterRibbons", SplitSubEmitterRibbons);
            node.Add("colorOverLifetime", ColorOverLifetime.ExportYAML(container));
            node.Add("widthOverTrail", WidthOverTrail.ExportYAML(container));
            node.Add("colorOverTrail", ColorOverTrail.ExportYAML(container));
            return(node);
        }