void OnEndAttack() { target.Health -= attacker.Attack; attacker.transform.DOMove(initialPos, 0.5f).SetEase(Ease.OutQuint).onComplete += OnEndBack; DamageEffect.CreateDamageEffect(target.transform.position, -attacker.Attack); }
/// <summary> /// Aplica un efecto de un hechizo al minion /// </summary> /// <param name="effect"></param> public void ApplyEffect(Effect effect) { Attack += effect.Attack; maxHealth += effect.MaxHealth; if (effect.Health != 0) { CurrentHealth += effect.Health; DamageEffect.CreateDamageEffect(transform.position, effect.Health); } if (effect.Taunt) { ApplyTaunt(); } if (effect.Charge) { ApplyCharge(); } if (effect.Stealth) { ApplyStealth(); } if (effect.Windfury) { ApplyWindfury(); } }
/// <summary> /// El fuerte es receptor de hechizos de efecto. Le pueden modificar la salud /// </summary> /// <param name="effect"></param> public void ApplyEffect(Effect effect) { maxHealth += effect.MaxHealth; if (effect.Health != 0) { Health += effect.Health; DamageEffect.CreateDamageEffect(transform.position, effect.Health); } }
/// <summary> /// Crea el damage effect en la posición y con el daño establecido /// </summary> /// <param name="position">Position.</param> /// <param name="amount">Amount.</param> public static void CreateDamageEffect(Vector3 position, int amount) { if (amount == 0) { return; } GameObject newDamageEffect = GameObject.Instantiate(GameManager.Instance.DamageEffectPrefab, position, Quaternion.identity, GameManager.Instance.GlobalCanvas.transform); DamageEffect de = newDamageEffect.GetComponent <DamageEffect>(); de.AmountText.text = amount.ToString(); //Iniciamos la corrutina que lo vuelve transparente de.StartCoroutine(de.ShowDamageEffect()); }
void OnEndBack() { DamageEffect.CreateDamageEffect(attacker.transform.position, -target.Attack); CommandComplete(); }