Ejemplo n.º 1
0
        // Animation Event
        void Hit()
        {
            //1
            float damage = CalculateDamage();

            if (target == null)
            {
                return;
            }
            if (isBlockingAndInAngle())
            {
                if (target.gameObject.tag == "Player")
                {
                    StartCoroutine(_BlockHitReact());
                }
            }
            Stamina stamina = this.GetComponent <Stamina>();

            if (stamina != null)
            {
                stamina.GainStamina(currentWeaponConfig.GetStaminaGain());
            }
            if (currentWeapon.value != null)
            {
                currentWeapon.value.OnHit();
            }
            if (currentWeaponConfig.HasProjectile())
            {
                currentWeaponConfig.LaunchProjectile(rightHandTransform, leftHandTransform, target, gameObject, damage);
            }
            else
            {
                target.TakeDamage(gameObject, damage);
            }
        }