public void Shoot() { if (!currentWeaponConfig.hasProjectile()) { return; } currentWeapon.value.OnAttack(); currentWeaponConfig.LaunchProjectile(rightHandTransform, leftHandTransform, target, character, baseStat.GetStat(Stat.Damage), shootDirection); }
//Animation Event (default placeholder) void Hit() { if (target == null) { return; } if (currentWeapon.value != null) { currentWeapon.value.OnHit(); } float damage = GetComponent <BaseStats>().GetStat(Stat.Damage); if (currentWeaponConfig.hasProjectile()) { currentWeaponConfig.LaunchProjectile(rightHandTransform, leftHandTransform, target, gameObject, damage); } else { target.TakeDamage(gameObject, damage); } }