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); } } }
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(); } }
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(); } }
public void UseSkill(SkillParameters skill) { AggroCrystals -= skill.AggroCrystalsCost; }
public SkillClipDischarge(SkillParameters skillParameters) : base(skillParameters) { }
public SkillStunGrenade(SkillParameters skillParameters) : base(skillParameters) { }
public BaseUnitSkill(SkillParameters skillParameters) { _skillParameters = skillParameters; }
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; }
public SkillExplosiveCharges(SkillParameters skillParameters) : base(skillParameters) { }