示例#1
0
        public void Read(AssetReader reader)
        {
            if (IsMaxGradientFirst(reader.Version))
            {
                MaxGradient.Read(reader);
                MinGradient.Read(reader);
                if (IsColor32(reader.Version))
                {
                    MinColor.Read32(reader);
                    MaxColor.Read32(reader);
                }
                else
                {
                    MinColor.Read(reader);
                    MaxColor.Read(reader);
                }
            }

            MinMaxState = (MinMaxGradientState)reader.ReadUInt16();
            reader.AlignStream(AlignType.Align4);

            if (!IsMaxGradientFirst(reader.Version))
            {
                MinColor.Read(reader);
                MaxColor.Read(reader);
                MaxGradient.Read(reader);
                MinGradient.Read(reader);
            }
        }
        public void Read(AssetStream stream)
        {
            if (IsMaxGradientFirst(stream.Version))
            {
                MaxGradient.Read(stream);
                MinGradient.Read(stream);
                if (IsColor32(stream.Version))
                {
                    MinColor32.Read(stream);
                    MaxColor32.Read(stream);
                }
                else
                {
                    MinColor.Read(stream);
                    MaxColor.Read(stream);
                }
            }

            MinMaxState = stream.ReadUInt16();
            stream.AlignStream(AlignType.Align4);

            if (!IsMaxGradientFirst(stream.Version))
            {
                MinColor.Read(stream);
                MaxColor.Read(stream);
                MaxGradient.Read(stream);
                MinGradient.Read(stream);
            }
        }
示例#3
0
        public YAMLNode ExportYAML(IExportContainer container)
        {
#warning TODO: value acording to read version (current 2017.3.0f3)
            YAMLMappingNode node = new YAMLMappingNode();
            node.AddSerializedVersion(GetSerializedVersion(container.Version));
            node.Add("minMaxState", (ushort)MinMaxState);
            node.Add("minColor", MinColor.ExportYAML(container));
            node.Add("maxColor", MaxColor.ExportYAML(container));
            node.Add("maxGradient", MaxGradient.ExportYAML(container));
            node.Add("minGradient", MinGradient.ExportYAML(container));
            return(node);
        }
示例#4
0
        public YAMLNode ExportYAML(IExportContainer container)
        {
            YAMLMappingNode node = new YAMLMappingNode();

            node.AddSerializedVersion(GetSerializedVersion(container.ExportVersion));
            node.Add("minMaxState", (ushort)MinMaxState);
            node.Add("minColor", MinColor.ExportYAML(container));
            node.Add("maxColor", MaxColor.ExportYAML(container));
            node.Add("maxGradient", MaxGradient.ExportYAML(container));
            node.Add("minGradient", MinGradient.ExportYAML(container));
            return(node);
        }
示例#5
0
        public void Read(AssetReader reader)
        {
            int maxGradientPlacement = GetMaxGradientPlacement(reader.Version);

            if (maxGradientPlacement == 1)
            {
                MaxGradient.Read(reader);
                MinGradient.Read(reader);
                if (IsColor32(reader.Version))
                {
                    MinColor32 = reader.ReadAsset <ColorRGBA32>();
                    MaxColor32 = reader.ReadAsset <ColorRGBA32>();
                }
                else
                {
                    MinColor.Read(reader);
                    MaxColor.Read(reader);
                }
            }

            // Int16 before 5.6.0p4
            MinMaxState = (MinMaxGradientState)reader.ReadUInt16();
            reader.AlignStream();

            if (maxGradientPlacement != 1)
            {
                if (maxGradientPlacement == 2)
                {
                    MaxGradient.Read(reader);
                    MinGradient.Read(reader);
                }
                MinColor.Read(reader);
                MaxColor.Read(reader);
                if (maxGradientPlacement == 3)
                {
                    MaxGradient.Read(reader);
                    MinGradient.Read(reader);
                }
            }
        }
        private void SetEffect()
        {
            if (Material == null)
            {
                return;
            }
            parameters = Material.Effect.Parameters;


            parameters["FadeFactor"].SetValue(FadeFactor);
            parameters["Duration"].SetValue((float)Duration.TotalSeconds);
            parameters["DurationFactor"].SetValue(DurationFactor);
            parameters["Gravity"].SetValue(GravityFactor);
            parameters["EndVelocity"].SetValue(EndVelocity);
            parameters["MinColor"].SetValue(MinColor.ToVector4());
            parameters["MaxColor"].SetValue(MaxColor.ToVector4());

            parameters["RotationSpeed"].SetValue(new Vector2(MinRotationSpeed, MaxRotationSpeed));

            parameters["StartSize"].SetValue(new Vector2(MinStartSize, MaxStartSize));

            parameters["EndSize"].SetValue(new Vector2(MinEndSize, MaxEndSize));
        }