public SerializableMinMaxGradient(ParticleSystem.MinMaxGradient minMaxGradient) { gradientMode = new SerializablePSGradientMode(minMaxGradient.mode); if (minMaxGradient.mode == ParticleSystemGradientMode.Color) { color = new SerializableColor(minMaxGradient.color); } if (minMaxGradient.mode == ParticleSystemGradientMode.TwoColors) { colorMax = new SerializableColor(minMaxGradient.colorMax); colorMin = new SerializableColor(minMaxGradient.colorMin); } if (minMaxGradient.mode == ParticleSystemGradientMode.Gradient) { gradientAlphaKeys = new SerializableAlphaKeys(minMaxGradient.gradient.alphaKeys); gradientColorKeys = new SerializableColorKeys(minMaxGradient.gradient.colorKeys); } if (minMaxGradient.mode == ParticleSystemGradientMode.TwoGradients) { gradientMaxAlphaKeys = new SerializableAlphaKeys(minMaxGradient.gradientMax.alphaKeys); gradientMaxColorKeys = new SerializableColorKeys(minMaxGradient.gradientMax.colorKeys); gradientMinAlphaKeys = new SerializableAlphaKeys(minMaxGradient.gradientMin.alphaKeys); gradientMinColorKeys = new SerializableColorKeys(minMaxGradient.gradientMin.colorKeys); } }
public SerializableColorKeys(GradientColorKey[] gradColorKeys) { SerializableColor[] color_ = new SerializableColor[gradColorKeys.Length]; float[] time_ = new float[gradColorKeys.Length]; for (int i = 0; i < gradColorKeys.Length; i++) { color_[i] = new SerializableColor(gradColorKeys[i].color); time_[i] = gradColorKeys[i].time; } color = color_; time = time_; }