Example #1
0
    /// <summary>
    /// 检测炮弹兵是否满足进阶条件
    /// </summary>
    public bool CheckSoldierJinJie()
    {
        Dictionary <int, int> l = new Dictionary <int, int>();

        // 是否最高阶
        if (ConfigM.GetNextQuality(Quality) == 0)
        {
            return(false);
        }
        int levelLimit = 0;
        int equipID1   = 0;
        int equipID2   = 0;
        int equipID3   = 0;
        int equipID4   = 0;
        int equipID5   = 0;
        int equipID6   = 0;

        SoldierM.GetUpQualityNeed(SoldierTypeID, Quality, ref levelLimit,
                                  ref equipID1, ref equipID2, ref equipID3,
                                  ref equipID4, ref equipID5, ref equipID6);
        // 等级限制
        if (Level < levelLimit)
        {
            return(false);
        }

        //需要的装备
        List <int> lEquipsID = new List <int>();

        if (Equipment0 <= 0)
        {
            lEquipsID.Add(equipID1);
        }
        if (Equipment1 <= 0)
        {
            lEquipsID.Add(equipID2);
        }
        if (Equipment2 <= 0)
        {
            lEquipsID.Add(equipID3);
        }
        if (Equipment3 <= 0)
        {
            lEquipsID.Add(equipID4);
        }
        if (Equipment4 <= 0)
        {
            lEquipsID.Add(equipID5);
        }
        if (Equipment5 <= 0)
        {
            lEquipsID.Add(equipID6);
        }
        // 不缺装备
        if (lEquipsID.Count == 0)
        {
            return(true);
        }
        //统计需要的装备
        foreach (int itemid in lEquipsID)
        {
            ItemTypeInfo ItemInfo = ItemDC.SearchItem(itemid);            //检测装备道具是否存在
            //检测装备是否存在
            if (ItemInfo == null)
            {
                return(false);
            }
            //检测等级是否满足装备要求
            if (Level < ItemInfo.m_level)
            {
                return(false);
            }

            if (l.ContainsKey(itemid) == false)
            {
                l.Add(itemid, 1);
            }
            else
            {
                l[itemid] = l[itemid] + 1;
            }
        }
        //判断装备数量是否够
        foreach (int itemid in l.Keys)
        {
            int num = ItemDC.CheckItem(itemid);
            if (num < l[itemid])
            {
                return(false);
            }
        }
        return(true);
    }