public healthSystemB(int hA) // heart amount { heartList = new List <HeartB>(); for (int i = 0; i < hA; i++) { HeartB heart = new HeartB(2); // 1 heart can tahan how many damage heartList.Add(heart); } //heartList[heartList.Count - 1].setFragmentAmount(0); }
public void addHealth(int healAmount) { for (int i = 0; i < heartList.Count; i++) { HeartB heart = heartList[i]; //check current health int emptyHeart = max_Heart - heart.GetFragmentAmount(); if (healAmount > emptyHeart) { healAmount -= emptyHeart; heart.addHealth(emptyHeart); } else { heart.addHealth(healAmount); } } OnHeal(this, EventArgs.Empty); }
public void Damage(int da) // damage amount { for (int i = heartList.Count - 1; i >= 0; i--) { HeartB heart = heartList[i]; if (da > heart.GetFragmentAmount()) // Test if this heart can absorb damageAmount { da -= heart.GetFragmentAmount(); // Heart cannot absorb full damageAmount, damage heart and keep going to next heart heart.Damage(heart.GetFragmentAmount()); } else { heart.Damage(da); break; } } OnDamaged(this, EventArgs.Empty); if (IsDead()) { OnDead(this, EventArgs.Empty); } }