//public CurveCubicSpline1F curve;

                public void GenerateValue(Random random, out ColorValue result)
                {
                    switch (Type)
                    {
                    case Component_ParticleEmitter.ColorValueProperty.TypeEnum.Constant:
                        result = Constant;
                        break;

                    case Component_ParticleEmitter.ColorValueProperty.TypeEnum.Range:
                        ColorValue.Lerp(ref Range.Minimum, ref Range.Maximum, random.NextFloat(), out result);
                        break;

                    //case Component_ParticleEmitter.ColorValuePropertys.TypeEnum.Curve:
                    //	if( Curve.Points.Count != 0 )
                    //	{
                    //		var maxValue = Curve.Points[ Curve.Points.Count - 1 ].Time;
                    //		return (float)Curve.CalculateValueByTime( random.Next( maxValue ) );
                    //	}
                    //	break;

                    default:
                        result = ColorValue.Zero;
                        break;
                    }
                }
Ejemplo n.º 2
0
        public static ColorValuePowered Lerp(ColorValuePowered v1, ColorValuePowered v2, float amount)
        {
            ColorValuePowered result;

            ColorValue.Lerp(ref v1.Color, ref v2.Color, amount, out result.Color);
            result.Power = v1.Power + ((v2.Power - v1.Power) * amount);
            return(result);
        }