Ejemplo n.º 1
0
    public void UpdateHealthBar(UnitCommander unitCmd)
    {
        int instId = unitCmd.GetInstanceID();

        Transform healthBarT = null;
        if (!healthBarDict.ContainsKey(instId)){
            healthBarT = Instantiate(healthBarPrefab);
            healthBarT.SetParent(canvas);
            healthBarDict.Add(instId, healthBarT);
        }else{
            healthBarT = healthBarDict[instId];
        }

        Vector2 aboveHeadPosition = Camera.main.WorldToScreenPoint(unitCmd.transform.position);
        aboveHeadPosition.y += 25;

        healthBarT.position = aboveHeadPosition;

        float health = unitCmd.health / (float) unitCmd.maxHealth;
        healthBarT.GetComponent<HealthBar>().UpdateBar(health, HealthToColor(health));
    }