void OnEndAttack()
        {
            target.Health -= attacker.Attack;

            attacker.transform.DOMove(initialPos, 0.5f).SetEase(Ease.OutQuint).onComplete += OnEndBack;
            DamageEffect.CreateDamageEffect(target.transform.position, -attacker.Attack);
        }
Ejemplo n.º 2
0
        /// <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();
            }
        }
Ejemplo n.º 3
0
        /// <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);
            }
        }
Ejemplo n.º 4
0
        /// <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());
        }
Ejemplo n.º 5
0
        void OnEndBack()
        {
            DamageEffect.CreateDamageEffect(attacker.transform.position, -target.Attack);

            CommandComplete();
        }