Example #1
0
    public virtual void Hit(IHitter projectile)
    {
        var projectileTransform = projectile.Transform;

        Armor -= projectile.PiercingFactor;
        if (Armor <= 0)
        {
            Health -= projectile.Damage;
            Instantiate(_bleedParticle,
                new Vector3(transform.position.x, projectileTransform.position.y, transform.position.z),
                projectileTransform.rotation);
            if (Health <= 0)
            {
                Die();
            }

        }
        else
        {
            var richochet=Instantiate(_ricoƱhetParticle,
                projectileTransform.position,
               Quaternion.Euler( projectileTransform.forward*-1))as Transform;
            richochet.transform.forward = -1 * projectileTransform.forward;
            projectile.Transform.forward=Vector3.Reflect(projectileTransform.forward,transform.forward);
        }
    }