private void OnUpdateHealthBar(UpdateHealthBarMessage message) { //finds the current healthbar child of the minionID given in the message and sets it to the % difference of its new currentHP/maxHP if (_minions.ContainsKey(message.EntityId)) { Vector3 currentHealthBarScale = _minions[message.EntityId].transform.Find("Current Health Bar").transform.localScale; Vector3 maxHealthBarScale = _minions[message.EntityId].transform.Find("Max Health Bar").transform.localScale; float healthPercentage = (float)message.CurrentHealth / (float)message.MaxHealth; Vector3 newHealthBarScale = new Vector3(maxHealthBarScale.x * healthPercentage, maxHealthBarScale.y, maxHealthBarScale.z); _minions[message.EntityId].transform.Find("Current Health Bar").transform.localScale = newHealthBarScale; } }
public void UpdateHealthBar(int minionID) { for (int i = 0; i < _activeMinions.Count; ++i) { if (_activeMinions[i].EntityId == minionID) { //Finding the correct MinionData for the ID and assigning the currentHP of the data to the message var message = new UpdateHealthBarMessage(); message.EntityId = _activeMinions[i].EntityId; message.CurrentHealth = _activeMinions[i].currentHP; message.MaxHealth = _activeMinions[i].maxHP; _messageRouter.RaiseMessage(message); break; } } }