Esempio n. 1
0
    void LateUpdate()
    {
        Vector3 manipulatorPosition;
        //Vector3 particlePosition;
        Color startColor;


        if (ActiveManipulator())
        {
            manipulatorObject   = manipulators[manipulatorInstance];
            manipulatorPosition = manipulatorObject.transform.position;

            particleSystem.GetParticles(particles);
            for (int i = 0; i < particles.Length; i++)
            {
                startColor = particles[i].startColor;
                //particlePosition = particles[i].position;  // particlePosition = GetParticlePosition(particles[i]);
                if (manipulatorObject.IsParticleInRange(particles[i], manipulatorObject.transform, manipulatorObject.shape))
                {
                    //manipulatorObject.particlesInRange.Add(particles[i]);
                    particles[i].velocity   = GetForce(particles[i], manipulatorObject, manipulatorObject.type);
                    particles[i].startColor = Color.red;
                }
            }

            //  Do calculations on all particles affected.  Once particles die, need to recalculate cause once particle dies, it can't find the particle.
            // for (int j = 0; j < manipulatorObject.particlesInRange.Count; j ++){
            //  particles[j].startColor = Color.red;
            // }

            particleSystem.SetParticles(particles, particles.Length);
        }
    }