Пример #1
0
    public void Start()
    {
        ListRO <ESkillKey> playerHeroSkillKeys = Global.Instance.Player.HeroSkills.GetHeroSkills(Global.Instance.Player.Heroes.Current.Data.Key);

        List <SkillParameters> playerHeroSkillParams = new List <SkillParameters>();

        playerHeroSkillParams.Add(SkillsConfig.Instance.HetHeroSkillParameters(Global.Instance.Player.Heroes.Current.Data.Key));

        SkillParameters skillParams = null;

        for (int i = 0; i < playerHeroSkillKeys.Count; i++)
        {
            skillParams = SkillsConfig.Instance.GetSkillParameters(playerHeroSkillKeys[i]);
            if (skillParams != null)
            {
                playerHeroSkillParams.Add(skillParams);
            }
        }

        for (int i = 0; i < _skillButtons.Length; i++)
        {
            if (playerHeroSkillParams.Count > i && playerHeroSkillParams[i] != null)
            {
                _skillButtons[i].Setup(playerHeroSkillParams[i]);
                _skillButtons[i].gameObject.SetActive(true);
            }
            else
            {
                _skillButtons[i].gameObject.SetActive(false);
            }
        }
    }
Пример #2
0
    public BaseUnitSkill GetSkillInstance(SkillParameters skillParams)
    {
        switch (skillParams.Key)
        {
        case ESkillKey.ClipDischarge:
            return(new SkillClipDischarge(skillParams));

        case ESkillKey.ExplosiveCharges:
            return(new SkillExplosiveCharges(skillParams));

        case ESkillKey.StunGrenade:
            return(new SkillStunGrenade(skillParams));
        }

        return(null);
    }
	public void Setup(SkillParameters skillParams) {
		_skillKey = skillParams.Key;
		_aggroCost = skillParams.AggroCrystalsCost;

		if (!skillParams.IconPath.Equals(string.Empty)) {
			Sprite skillSprite = UIResourcesManager.Instance.GetResource<Sprite>(string.Format("{0}/{1}", GameConstants.Paths.UI_ABILITY_ICONS_RESOURCES, skillParams.IconPath));
			if (skillSprite != null) {
				_imgAbilitiIcon.sprite = skillSprite;
				_imgAbilitiIcon.gameObject.SetActive(true);
			}
		}

		if (_txtAbilityCost != null) {
			_txtAbilityCost.text = _aggroCost.ToString();
		}
	}
Пример #4
0
    public void Setup(SkillParameters skillParams)
    {
        _skillKey  = skillParams.Key;
        _aggroCost = skillParams.AggroCrystalsCost;

        if (!skillParams.IconPath.Equals(string.Empty))
        {
            Sprite skillSprite = UIResourcesManager.Instance.GetResource <Sprite>(string.Format("{0}/{1}", GameConstants.Paths.UI_ABILITY_ICONS_RESOURCES, skillParams.IconPath));
            if (skillSprite != null)
            {
                _imgAbilitiIcon.sprite = skillSprite;
                _imgAbilitiIcon.gameObject.SetActive(true);
            }
        }

        if (_txtAbilityCost != null)
        {
            _txtAbilityCost.text = _aggroCost.ToString();
        }
    }
Пример #5
0
 public void UseSkill(SkillParameters skill)
 {
     AggroCrystals -= skill.AggroCrystalsCost;
 }
	public SkillClipDischarge(SkillParameters skillParameters) : base(skillParameters) { }
Пример #7
0
 public SkillStunGrenade(SkillParameters skillParameters) : base(skillParameters)
 {
 }
Пример #8
0
	public BaseUnitSkill(SkillParameters skillParameters) {
		_skillParameters = skillParameters;
	}
	public SkillStunGrenade(SkillParameters skillParameters) : base(skillParameters) { }
Пример #10
0
    private IEnumerator InitializeUnitsData(MissionMapData mapData)
    {
        _fightPreparationStep = EFightPreparationStep.InitializeUnitsGraphics;

        float unitInitializationStep = (0.9f - 0.25f) / (_alliesCount + _enemiesCount);
        float currentLoadPercentage  = 0.25f;

        //get player hero skills
        Dictionary <ESkillKey, BaseUnitSkill> playerHeroSkills = new Dictionary <ESkillKey, BaseUnitSkill>();
        SkillParameters skillParams = SkillsConfig.Instance.HetHeroSkillParameters(Global.Instance.Player.Heroes.Current.Data.Key);

        if (skillParams != null)
        {
            playerHeroSkills.Add(skillParams.Key, SkillsConfig.Instance.GetSkillInstance(skillParams));
        }
        ListRO <ESkillKey> playerHeroSkillKeys = Global.Instance.Player.HeroSkills.GetHeroSkills(Global.Instance.Player.Heroes.Current.Data.Key);

        for (int i = 0; i < playerHeroSkillKeys.Count; i++)
        {
            skillParams = SkillsConfig.Instance.GetSkillParameters(playerHeroSkillKeys[i]);
            if (skillParams != null)
            {
                playerHeroSkills.Add(skillParams.Key, SkillsConfig.Instance.GetSkillInstance(skillParams));
            }
        }

        _graphics.AllyUnits[_graphics.AllyUnits.Length - 1].Setup(Global.Instance.Player.Heroes.Current, playerHeroSkills,
                                                                  GameConstants.Tags.UNIT_ALLY, _graphics.UnitUIResource, Global.Instance.CurrentMission.SelectedSoldiers.Length);
        for (int i = 0; i < Global.Instance.CurrentMission.SelectedSoldiers.Length; i++)
        {
            if (!Global.Instance.CurrentMission.SelectedSoldiers[i].IsDead)
            {
                _graphics.AllyUnits[i].Setup(Global.Instance.CurrentMission.SelectedSoldiers[i], null, GameConstants.Tags.UNIT_ALLY, _graphics.UnitUIResource, i);                      //TODO: setup units skills

                currentLoadPercentage += unitInitializationStep;
                LoadingScreen.Instance.SetProgress(currentLoadPercentage);

                yield return(null);
            }
        }

        BaseUnitData bud = null;

        for (int i = 0; i < mapData.Units.Length; i++)
        {
            bud = UnitsConfig.Instance.GetUnitData(mapData.Units[i]);
            if (bud is BaseHeroData)
            {
                _graphics.EnemyUnits[i].Setup(new BaseHero(bud as BaseHeroData, 0), null, GameConstants.Tags.UNIT_ENEMY, _graphics.UnitUIResource, i);                  //TODO: setup enemy hero inventory, hero skills
            }
            else
            {
                _graphics.EnemyUnits[i].Setup(new BaseSoldier(bud as BaseSoldierData, 1), null, GameConstants.Tags.UNIT_ENEMY, _graphics.UnitUIResource, i);                    //TODO: setup enemy soldier upgrades, unit skills
            }

            currentLoadPercentage += unitInitializationStep;
            LoadingScreen.Instance.SetProgress(currentLoadPercentage);

            yield return(null);
        }

        _fightPreparationStep = EFightPreparationStep.UnitsGraphicsInitialized;
    }
Пример #11
0
 public BaseUnitSkill(SkillParameters skillParameters)
 {
     _skillParameters = skillParameters;
 }
	public SkillExplosiveCharges(SkillParameters skillParameters) : base(skillParameters) { }
 public SkillExplosiveCharges(SkillParameters skillParameters) : base(skillParameters)
 {
 }
Пример #14
0
 public SkillClipDischarge(SkillParameters skillParameters) : base(skillParameters)
 {
 }
Пример #15
0
	public void UseSkill(SkillParameters skill) {
		AggroCrystals -= skill.AggroCrystalsCost;
	}