Пример #1
0
    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;
        }
    }
Пример #2
0
 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;
         }
     }
 }