public void initialize(Vector3 vectorUp,GameObject objective,TrackingMissilesAttack originalAttack,ElementType elementType)
    {
        timeHasBeenAlive = 0f;
        this.objective = objective;
        this.originalAttack = originalAttack;
        speed = new Vector3 (Random.value, Random.value,0f).normalized;
        speed = ((speed * 0.8f) + vectorUp).normalized;

        if(!elementType.Equals(ElementType.None)){
            elementalParticleEffect.SetActive(true);
            elementalParticleEffect.GetComponent<ParticleSystem>().Play();
            Material material = AttackElementsManager.getElement(elementType).material;
            if(material!=null){
                elementalParticleEffect.GetComponent<ParticleSystemRenderer >().material = material;
            }
        }
    }
    public void initialize(Vector3 vectorUp, GameObject objective, TrackingMissilesAttack originalAttack, ElementType elementType)
    {
        timeHasBeenAlive    = 0f;
        this.objective      = objective;
        this.originalAttack = originalAttack;
        speed = new Vector3(Random.value, Random.value, 0f).normalized;
        speed = ((speed * 0.8f) + vectorUp).normalized;

        if (!elementType.Equals(ElementType.None))
        {
            elementalParticleEffect.SetActive(true);
            elementalParticleEffect.GetComponent <ParticleSystem>().Play();
            Material material = AttackElementsManager.getElement(elementType).material;
            if (material != null)
            {
                elementalParticleEffect.GetComponent <ParticleSystemRenderer>().material = material;
            }
        }
    }