Exemplo n.º 1
0
    private void OnReq_AdvanceEquip(MessageRecv obj)
    {
        System.IO.MemoryStream ms  = new System.IO.MemoryStream(obj.Data);
        ReqAdvanceEquip        req = Serializer.Deserialize <ReqAdvanceEquip>(ms);

        DEquip            cfg       = ReadCfgEquip.GetDataById(req.TarEquip.Id);
        int               advanceID = cfg.Quality * 1000 + req.TarEquip.AdvanceLevel + 1;
        DEquipAdvanceCost db        = ReadCfgEquipAdvanceCost.GetDataById(advanceID);

        AckAdvanceEquip ack = new AckAdvanceEquip();

        ack.UseItems.AddRange(req.UseItems);
        ack.TarEquip = req.TarEquip;
        NetworkManager.Instance.Send(MessageID.MSG_ACK_ADVANCE_EQUIP, ack, 0, 0);
    }
Exemplo n.º 2
0
    public void TryAdvanceEquip(XEquip equip)
    {
        if (EquipModule.Instance.IsFullAdvanceLevel(equip))
        {
            GTItemHelper.ShowTip("进阶等级已满");
            return;
        }
        DEquip            cfg       = ReadCfgEquip.GetDataById(equip.Id);
        int               advanceID = cfg.Quality * 1000 + equip.AdvanceLevel + 1;
        DEquipAdvanceCost db        = ReadCfgEquipAdvanceCost.GetDataById(advanceID);

        if (!GTItemHelper.CheckItemEnongh(db.CostMoneyId, db.CostMoneyNum))
        {
            return;
        }
        if (!GTItemHelper.CheckItemEnongh(db.CostItemId, db.CostItemNum))
        {
            return;
        }

        List <XItem> list;

        if (db.CostEquipNum > 0)
        {
            list = EquipModule.Instance.GetBagSameEquipList(equip);
            if (list.Count < db.CostEquipNum)
            {
                GTItemHelper.ShowTip("缺少同样的装备");
                return;
            }
            list.RemoveRange(db.CostEquipNum, list.Count - db.CostEquipNum);
        }
        else
        {
            list = new List <XItem>();
        }

        ReqAdvanceEquip req = new ReqAdvanceEquip();

        req.TarEquip = equip;
        req.UseItems.AddRange(list);
        NetworkManager.Instance.Send <ReqAdvanceEquip>(MessageID.MSG_REQ_ADVANCE_EQUIP, req);
    }