コード例 #1
0
    private void OnChangeColorStopValueRequested(string id, Color value)
    {
        ParticleEffect particleEffect = system.GetParticleEffect(pfxId);
        List <ParticleEffectContent.ColorStop> stops = particleEffect.content.colorOverLifetime;

        ParticleEffectContent.ColorStop stop = stops.Find((cs) => cs.id == id);
        stop.value = value;
        system.PutParticleEffect(particleEffect);
    }
コード例 #2
0
    private void OnChangeColorStopPositionRequested(string id, float position)
    {
        ParticleEffect particleEffect = system.GetParticleEffect(pfxId);
        List <ParticleEffectContent.ColorStop> stops = particleEffect.content.colorOverLifetime;

        ParticleEffectContent.ColorStop stop = stops.Find((cs) => cs.id == id);
        stop.position = position;
        stops.Sort((ParticleEffectContent.ColorStop cs1, ParticleEffectContent.ColorStop cs2) =>
        {
            return(cs1.position.CompareTo(cs2.position));
        });
        system.PutParticleEffect(particleEffect);
    }
コード例 #3
0
    private static Gradient ColorTuplesToGradient(List <ParticleEffectContent.ColorStop> colors)
    {
        Gradient colorGradient = new Gradient();

        GradientColorKey[] gradientColorKeys = new GradientColorKey[colors.Count];
        GradientAlphaKey[] gradientAlphaKeys = new GradientAlphaKey[colors.Count];
        for (int i = 0; i < colors.Count; i++)
        {
            ParticleEffectContent.ColorStop stop = colors[i];
            gradientColorKeys[i] = new GradientColorKey(stop.value, stop.position);
            gradientAlphaKeys[i] = new GradientAlphaKey(stop.value.a, stop.position);
        }
        colorGradient.SetKeys(gradientColorKeys, gradientAlphaKeys);
        return(colorGradient);
    }