public static DamagePopup Create(Vector3 position, int damageAmount, Color color) { Vector3 jitterPos = position + (Vector3)Random.insideUnitCircle; Transform damagePopupTransform = Instantiate(GameAssets.Instance.pfDamagePopup, jitterPos, Quaternion.identity); DamagePopup popup = damagePopupTransform.GetComponent <DamagePopup>(); popup.Setup(damageAmount, color); return(popup); }
public void DealDamage(ICharacter character) { float baseDamage = Stats.BaseDamage.Value; float range = Stats.DamageRange.Value; int damage = (int)UnityEngine.Random.Range(baseDamage - range, baseDamage + range); //Stats.AttackRange += 1; character.TakeDamage(damage); DamagePopup.Create(character.transform.position, damage, Color.white); if (onAttack != null) { onAttack(character); } }
public void AdditionalAttack(ICharacter character) { character.TakeDamage(5); DamagePopup.Create(character.transform.position, 5, Color.blue); assets.Create(assets.pfSwordAttack, character.transform.position, Quaternion.identity, character.transform); }