Exemplo n.º 1
0
    public List <BATTLESKILL_TRAINING> GetBattleSkillTrainingGroup(NkSoldierInfo SoldierData)
    {
        if (SoldierData == null)
        {
            return(null);
        }
        List <BATTLESKILL_TRAINING> list = new List <BATTLESKILL_TRAINING>();
        string code = SoldierData.GetCharKindInfo().GetCode();

        if (!this.mHash_BattleSkillTraining_CharName.ContainsKey(code))
        {
            Debug.LogError("Cannot Find Skill : " + code);
            return(null);
        }
        List <BATTLESKILL_TRAINING> list2 = this.mHash_BattleSkillTraining_CharName[code];

        if (list2 == null)
        {
            return(null);
        }
        for (int i = 0; i < list2.Count; i++)
        {
            if (list2[i].m_nSkillLevel == 1)
            {
                BATTLESKILL_BASE battleSkillBase = this.GetBattleSkillBase(list2[i].m_nSkillUnique);
                if (battleSkillBase != null)
                {
                    if (battleSkillBase.m_nSkilNeedWeapon > 0)
                    {
                        if (SoldierData.CheckNeedWeaponType(battleSkillBase.m_nSkilNeedWeapon))
                        {
                            list.Add(list2[i]);
                        }
                    }
                    else if (SoldierData.CheckNeedWeaponType(SoldierData.GetWeaponType()))
                    {
                        list.Add(list2[i]);
                    }
                }
            }
        }
        if (list.Count == 0)
        {
            return(null);
        }
        return(list);
    }
Exemplo n.º 2
0
    public MYTHSKILL_TRAINING GetMythSkillTrainingData(NkSoldierInfo SoldierData)
    {
        if (SoldierData == null)
        {
            return(null);
        }
        string code = SoldierData.GetCharKindInfo().GetCode();

        foreach (int current in this.m_hashMythSkillTraining.Keys)
        {
            foreach (KeyValuePair <int, MYTHSKILL_TRAINING> current2 in this.m_hashMythSkillTraining[current])
            {
                for (int i = 0; i < 20; i++)
                {
                    if (!(code != current2.Value.m_strCharCode[i]))
                    {
                        if (current2.Value.m_i32SkillLevel == 1)
                        {
                            BATTLESKILL_BASE battleSkillBase = this.GetBattleSkillBase(current2.Value.m_i32SkillUnique);
                            if (battleSkillBase != null)
                            {
                                if (battleSkillBase.m_nMythSkillType == 1)
                                {
                                    int battleskillNeedWeapon;
                                    if (battleSkillBase.m_nSkilNeedWeapon > 0)
                                    {
                                        battleskillNeedWeapon = battleSkillBase.m_nSkilNeedWeapon;
                                    }
                                    else
                                    {
                                        battleskillNeedWeapon = SoldierData.GetWeaponType();
                                    }
                                    if (SoldierData.CheckNeedWeaponType(battleskillNeedWeapon))
                                    {
                                        return(current2.Value);
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
        return(null);
    }