private void HandleCollision(GameObject hitTarget)
    {
        ElementStats elementStats = hitTarget.GetComponent <ElementStats>();

        if (elementStats != null && !elementStats.IsDead())
        {
            elementStats.InflictDamage(this.damage);
            // TODO: add a small explosion for the bullet dissapearance.

            if (this.affectsScore && elementStats.IsDead())
            {
                PlayerStats.AddGold(elementStats.gold);
                PlayerStats.AddScore(elementStats.scorePoints);
            }
        }

        SelfDestruct();
    }
 private bool CanShoot()
 {
     return(Time.time >= nextFireTime && bulletsLoaded > 0 && !stats.IsDead());
 }