Exemplo n.º 1
0
 public void onSelectAbility(AbilityBase ability)
 {
     if (ability != null &&
         ability.IsValid() &&
         GameData.Instance.BattleSceneActionFlag.HasFlag((long)StateDef.BattleActionFlag.OnChoosingSkill))
     {
         ability.onSelect();
     }
 }
Exemplo n.º 2
0
    protected override bool ChooseSkill()
    {
        List <AbilityBase> availableSkills = new List <AbilityBase>();

        foreach (AbilityBase skill in m_abilities)
        {
            if (skill.IsValid())
            {
                availableSkills.Add(skill);
            }
        }

        if (availableSkills.Count > 0)
        {
            List <RandomObject> objs = new List <RandomObject>();
            foreach (AbilityBase ab in availableSkills)
            {
                if (ab != null)
                {
                    RandomObject ro = new RandomObject();
                    ro.ItemId = ab.SkillData.id;
                    ro.Weight = ab.SkillData.weight;
                    objs.Add(ro);
                }
            }

            if (objs.Count > 0)
            {
                List <RandomObject> retObjs = ProjectHelper.GetRandomList <RandomObject>(objs, 1);
                AbilityBase         abb     = m_abilities.Where(ability => ability.SkillData.id == retObjs[0].ItemId).FirstOrDefault();
                if (abb != null)
                {
                    abb.onSelect();
                    return(true);
                }
            }
        }

        return(false);
    }