public void Cancel() { StopAttack(); m_Target = null; m_Mover.Cancel(); UpdateTargetUi?.Invoke(); }
// Animation Trigger private void Hit() { if (m_Target != null) { if (m_CurrentWeapon.Value != null) { m_CurrentWeapon.Value.OnHit(m_Target); } float damage = m_BaseStats.GetStat(Stat.Damage); if (m_CurrentWeaponConfig.HasProjectile()) { m_CurrentWeaponConfig.LaunchProjectile(rightHandTransform, leftHandTransform, m_Target, gameObject, damage, UpdateTargetUi); } else { m_Target.TakeDamage(gameObject, damage); } } UpdateTargetUi?.Invoke(); }