//private void SetupAvailableUnits() {
    //    float availableSoldierImageWidth = _availableSoldierInfo.Button.image.rectTransform.rect.width;

    //    EUnitKey[] units = Global.Instance.Player.City.AvailableUnits.ToArray();
    //    _availableSoldiers = new BaseSoldierData[units.Length];
    //    for (int i = 0; i < units.Length; i++) {
    //        _availableSoldiers[i] = UnitsConfig.Instance.GetSoldierData(units[i]);
    //    }

    //    _availableSoldiersInfo = new UIBattleSetupUnitInfo[_availableSoldiers.Length];
    //    _availableSoldiersInfo[0] = _availableSoldierInfo;
    //    for (int i = 0; i < _availableSoldiers.Length; i++) {
    //        if (i > 0) {
    //            _availableSoldiersInfo[i] = (GameObject.Instantiate(_availableSoldierInfo.gameObject) as GameObject).GetComponent<UIBattleSetupUnitInfo>();
    //            _availableSoldiersInfo[i].transform.SetParent(_availableSoldierInfo.transform.parent, false);
    //            _availableSoldiersInfo[i].gameObject.GetComponent<RectTransform>().anchoredPosition = _availableSoldierInfo.gameObject.GetComponent<RectTransform>().anchoredPosition + new Vector2(i * (availableSoldierImageWidth + _offsetImageAvailableSoldiersX), 0f);
    //        }
    //        int iTmp = i;	//some spike: without this array.Length is passed to listener
    //        _availableSoldiersInfo[i].Button.onClick.AddListener(() => { HireSoldier(iTmp); });
    //        _availableSoldiersInfo[i].LblLeadershipCost.text = _availableSoldiers[i].LeadershipCost.ToString();

    //        Image soldierIcon = _availableSoldiersInfo[i].Button.image;
    //        Sprite enemyIconResource = UIResourcesManager.Instance.GetResource<Sprite>(GameConstants.Paths.GetUnitIconResourcePath(_availableSoldiers[i].IconName));
    //        if (enemyIconResource != null)
    //        {
    //            soldierIcon.sprite = enemyIconResource;
    //        }
    //    }
    //}

    void SetupCurrentHero()
    {
        BaseHero hero = Global.Instance.Player.Heroes.Current;

        if (_heroCard != null)
        {
            UIHeroCard heroCard = _heroCard.GetComponent <UIHeroCard>();
            heroCard.UnitKey = hero.Data.Key;
        }
        _txtHeroName.text   = hero.Data.PrefabName;
        _txtLevel.text      = hero.Level.ToString();
        _txtHealth.text     = hero.HealthPoints.ToString();
        _txtDamage.text     = hero.Damage.ToString();
        _txtLeadership.text = hero.Leadership.ToString();
        _txtSkills.text     = hero.ActiveSkills.ActiveSkills.Count.ToString();
        _slotManager.SetHeroTemplate();

        //MultiImageButton multiButton = _imgCurrrentSoldier.GetComponent<MultiImageButton>()
        //_imgCurrrentSoldier.enabled = false;
    }
    private void SetupEnemies(MissionData md)
    {
        float enemyImageWidth = _iconEnemy.UnitBG.transform.GetComponent <RectTransform>().rect.width;

        List <EUnitKey> unitKeys = new List <EUnitKey>();
        MissionMapData  mmd      = null;

        for (int i = 0; i < md.MapsCount; i++)
        {
            mmd = md.GetMap(i);
            for (int j = 0; j < mmd.Units.Length; j++)
            {
                if (unitKeys.IndexOf(mmd.Units[j]) == -1)
                {
                    unitKeys.Add(mmd.Units[j]);
                }
            }
        }
        EUnitKey   firstEnemy = unitKeys[0];
        UIHeroCard enemyCard  = _enemyCard.GetComponent <UIHeroCard>();

        enemyCard.UnitKey = firstEnemy;

        //_enemies = unitKeys.ToArray();
        //_enemyIcons = new UIBattlePreviewUnitInfo[_enemies.Length];
        //_enemyIcons[0] = _iconEnemy;
        //for (int i = 0; i < _enemies.Length; i++)
        //{
        //    if (i > 0)
        //    {
        //        _enemyIcons[i] = (GameObject.Instantiate(_iconEnemy.gameObject) as GameObject).GetComponent<UIBattlePreviewUnitInfo>();
        //        _enemyIcons[i].transform.SetParent(_iconEnemy.transform.parent, false);
        //        _enemyIcons[i].UnitBG.rectTransform.anchoredPosition = _iconEnemy.UnitBG.rectTransform.anchoredPosition + new Vector2(i * (enemyImageWidth + _offsetImageEnemy), 0f);
        //    }
        //    _enemyIcons[i].Setup(_enemies[i]);
        //}
    }