private void OnAttack(object sender, CardArgs attackArgs) { Debug.LogWarning($"[{this.GetType().Name}] OnAttack!"); var unit = sender as UnitManager; var dir = (attackArgs.Receiver.transform.position - attackArgs.Attacker.transform.position).normalized; var duration = 0.5f; var sequence = DOTween.Sequence(); switch (attackArgs.CardData.CardAnimation) { case CardAnimation.NormalAttack: default: soundManager.AudioSource.PlayOneShot(soundManager.HitTrack); sequence.Append(transform.DOLocalMoveX(transform.localPosition.x + 2 * dir.x, duration) .OnComplete(() => transform.DOLocalMoveX(transform.localPosition.x - 2 * dir.x, duration))); break; } attackArgs.Receiver.GetDamage(attackArgs.CardData.Amount); sequence.OnComplete(() => attackArgs.Callback()); }
private void OnGetHeal(object sender, CardArgs cardArgs) { var seq = DOTween.Sequence(); Debug.Log($"[{this.GetType().Name}] Getting Heal: {cardArgs.CardData.Amount}!"); seq.Append(Slider.DOValue((float)UnitManager.HP / (float)UnitManager.UnitData.HP, 1f)); HP.text = $"{UnitManager.HP} / {UnitManager.UnitData.HP}"; Debug.LogWarning($"[{this.GetType().Name}] OnAttack!"); var unit = sender as UnitManager; seq.OnComplete(() => cardArgs.Callback()); }