private void TriggerStatChange() { if (OnPlayerStatChange != null) { OnPlayerStatChange.Invoke(); } }
private void LevelUp() { //TODO display level //upgrade stats //Calculate next value better playerLevel++; exp = 0; maxHealth = (int)(maxHealth * 1.1f); health = maxHealth; expForNextLvl = (int)(expForNextLvl * 1.25); levelPS.Play(); UIUpdater.instance.displayLevelUp = true; OnPlayerStatChange.Invoke(); OnLevelIncrease.Invoke(playerLevel); }
public override void TakeDamage(int damage, Vector2 attackerPos, float knockBack, bool isCrit) { if (!PlayerController2D.instance.isDashing) { if (health <= 0) { //Kill the player / game over state PlayerController2D.instance.dead = true; } //Reduce damage by defence damage = (int)(damage - ArmorSwitcher.instance.totalArmor); if (damage < 0) { damage = 0; } health -= damage; OnPlayerStatChange.Invoke(); animator.SetTrigger("isHit"); CameraShake.instance.ShakeCamera(); } }