//sacar de el área de juego a todas las gotas
 public void pool_out() {
     for (int i = 0; i < instances.Count; i++) {
         if (instances[i] == null) {
             break;
         }
         scr_gota = instances[i].GetComponent<gota>();
         if (scr_gota.emitida) {
             scr_gota.pool_out();
         }
     }
 }
    public void RelanzarGotas() {
        //si se alcanzó en máximo de instancias de gotas posibles o se decidió pausar la emisión
        if (instances_index >= max_gotas || pause_emit) {
            emitir = false;//dejar de emitir
            return;
        }

        //detener emisión cuando se alcance el objetivo de un servicio de ese liquido
        if (gotas_emitidas >= gotas_emit_goal) {
            stop_emit = true;
        }

        //si no hay gotas disponibles en el arreglo, instanciar una gota
        if (instances[instances_index] == null) {

            instances[instances_index] = Instantiate(gota);
        }

        scr_gota = instances[instances_index].GetComponent<gota>();//obtener el script de la gota para sber si ya fué emitida
        if (scr_gota.emitida == false)
        {
            gotas_emitidas++;
            //hacer la gota traspasable y visible
            scr_gota.col.enabled = false;
            scr_gota.mesh.enabled = true;
            //
            scr_gota.transform.tag = tipo_liquido;//asignar el liquido al que pertenece la gota
            //asignar una pocición aleatoria desde donde se va a emitir la gota
            instances[instances_index].transform.position = new Vector3(Random.Range(-radio_lanzamiento, radio_lanzamiento) + transform.position.x, transform.position.y, Random.Range(-radio_lanzamiento, radio_lanzamiento) + transform.position.z);
            instances[instances_index].transform.localScale = Vector3.one * tamaño_gota;//asignar tamaño definido
            //cambiar el color del la gota dependiendo del líquido
            if (instances[instances_index].GetComponentInChildren<MeshRenderer>().material.GetColor("Color_A") != color_gota) {
                instances[instances_index].GetComponentInChildren<MeshRenderer>().material.SetColor("Color_A", color_gota);
            }
            //asignar valores físicos
            scr_gota.rigi.isKinematic = false;
            scr_gota.rigi.collisionDetectionMode = CollisionDetectionMode.ContinuousDynamic;
            //
            scr_gota.emitida = true;//fue emitida
            instances_index++;

            //lanzar la siguente gota si es que es posible, con un delay definido
            if (instances_index < max_gotas)
            {
                Invoke("RelanzarGotas", frecuencia);
            }
        }
    }