예제 #1
0
    public void Start()
    {
        _btnBack.onClick.AddListener(OnBtnBackClick);

        _btnSkill1.onClick.AddListener(OnSkill1Click);
        _btnSkill2.onClick.AddListener(OnSkill2Click);

        _btnSkillSelected1.onClick.AddListener(OnSelectedSkill1Click);
        _btnSkillSelected2.onClick.AddListener(OnSelectedSkill2Click);

        _btnSkillSelected1.image.sprite = _btnSkillEmpty.image.sprite;
        _lblSkillSelected1.text         = string.Empty;
        _btnSkillSelected2.image.sprite = _btnSkillEmpty.image.sprite;
        _lblSkillSelected2.text         = string.Empty;

        ListRO <ESkillKey> playerSkills = Global.Instance.Player.HeroSkills.GetHeroSkills(EUnitKey.Hero_Sniper);

        for (int i = 0; i < playerSkills.Count; i++)
        {
            if (playerSkills[i] == ESkillKey.ExplosiveCharges)
            {
                OnSkill1Click();
            }
            else if (playerSkills[i] == ESkillKey.StunGrenade)
            {
                OnSkill2Click();
            }
        }
    }
예제 #2
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);
            }
        }
    }
예제 #3
0
	public PlayerInventory() {
		_itemsRO = new ListRO<PlayerItem>(_items);

		EventsAggregator.Units.AddListener<BaseUnit, EUnitEqupmentSlot, EItemKey, EItemKey>(EUnitEvent.EquipmentUpdate, OnItemEquip);
	}
예제 #4
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;
    }
예제 #5
0
    public PlayerInventory()
    {
        _itemsRO = new ListRO <PlayerItem>(_items);

        EventsAggregator.Units.AddListener <BaseUnit, EUnitEqupmentSlot, EItemKey, EItemKey>(EUnitEvent.EquipmentUpdate, OnItemEquip);
    }