Пример #1
0
    public IEnumerator LoadMap()
    {
        LoadingScreen.Instance.SetProgress(0.1f);

        _graphics.Unload(false);
        _logger.Clear();

        MissionMapData mapData = _missionData.GetMap(_currentMapIndex);

        _fightPreparationStep = EFightPreparationStep.MapGraphicsLoad;
        _graphics.Load(mapData);
        yield return(null);

        _fightPreparationStep = EFightPreparationStep.MapGraphicsLoaded;

        StartCoroutine(InitializeUnits(mapData));
        while (_fightPreparationStep != EFightPreparationStep.UnitsInitialized)
        {
            yield return(null);
        }
        _fightPreparationStep = EFightPreparationStep.End;

        StartCoroutine(PlayFightDialog());
        _ui.HideFader();
    }
    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]);
                }
            }
        }
        _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]);
        }
    }
	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]);
        //}
	}