Esempio n. 1
0
    public List <XItem> GetItemListToOneKeyStrengthen(XEquip equip)
    {
        List <XItem>      list    = new List <XItem>();
        DEquip            equipDB = ReadCfgEquip.GetDataById(equip.Id);
        DEquipStrengLevel levelDB = ReadCfgEquipStrengLevel.GetDataById(equipDB.Quality * 1000 + equip.StrengthenLevel + 1);
        int moneyNum = GTDataManager.Instance.GetItemCountById(DEquip.EQUIP_STRENGTHEN_MONEY_ID_2);

        if (moneyNum > 0)
        {
            int   needNum = levelDB.RequireExp - equip.StrengthenExp;
            int   addNum  = moneyNum >= needNum ? needNum : moneyNum;
            XItem item    = new XItem();
            item.Id      = DEquip.EQUIP_STRENGTHEN_MONEY_ID_2;
            item.PosType = (int)EPosType.RoleMoney;
            item.Num     = addNum;
            list.Add(item);
            return(list);
        }
        List <XItem> allEquipMatList = GetAllEquipMatList();

        for (int i = 0; i < list.Count; i++)
        {
            if (list.Count >= 6)
            {
                break;
            }
            if (IsCanAsMatToAutoAdd(allEquipMatList[i]))
            {
                XItem item = allEquipMatList[i];
                list.Add(item);
            }
        }
        return(list);
    }
Esempio n. 2
0
    public int GetStrengthenExpByMatList(List <XItem> list)
    {
        if (list == null)
        {
            return(0);
        }
        int exp = 0;

        for (int i = 0; i < list.Count; i++)
        {
            if (list[i].PosType == (int)EPosType.RoleMoney)
            {
                exp += list[i].Num;
            }
            else
            {
                XItem  mat     = list[i];
                DEquip equipDB = ReadCfgEquip.GetDataById(mat.Id);
                XEquip equip   = DataDBSEquip.GetDataById(mat.Instance);
                exp += equipDB.DeComposeNum2;
                exp += equip.StrengthenExp;
                int lv = equip.StrengthenLevel;
                for (int j = lv; j > 0; j--)
                {
                    DEquipStrengLevel db = ReadCfgEquipStrengLevel.GetDataById(equipDB.Quality * 1000 + j);
                    exp += db.RequireExp;
                }
            }
        }
        return(exp);
    }
Esempio n. 3
0
    private void ShowStrengthenView()
    {
        XEquip equip = GTDataManager.Instance.GetEquipDataByPos(mPosType, mPos);

        if (equip == null)
        {
            return;
        }
        if (EquipModule.Instance.IsFullStrengthenLevel(equip) == true)
        {
            return;
        }
        int itemID = equip.Id;

        GTItemHelper.ShowItemTexture(mEquipStrengthen.equipTexture, itemID);
        GTItemHelper.ShowItemQuality(mEquipStrengthen.equipQuality, itemID);
        GTItemHelper.ShowItemName(mEquipStrengthen.equipName, itemID);

        int costEquipNum = mStrengthenCostItems.Count;

        for (int i = 0; i < mEquipStrengthen.mStrengthenItems.Count; i++)
        {
            ItemStrengthen cell = mEquipStrengthen.mStrengthenItems[i];
            if (i < costEquipNum)
            {
                XItem mat = mStrengthenCostItems[i];
                cell.Show(true);
                int id = mStrengthenCostItems[i].Id;
                GTItemHelper.ShowItemTexture(cell.itemTexture, id);
                GTItemHelper.ShowItemQuality(cell.itemQuality, id);
                GTItemHelper.ShowItemNum(cell.itemNum, mat.Num);
            }
            else
            {
                cell.Show(false);
            }
        }
        DEquip            equipDB = ReadCfgEquip.GetDataById(itemID);
        DEquipStrengLevel levelDB = ReadCfgEquipStrengLevel.GetDataById(equipDB.Quality * 1000 + equip.StrengthenLevel + 1);
        int addExpNum             = EquipModule.Instance.GetStrengthenExpByMatList(mStrengthenCostItems);

        GTItemHelper.ShowItemTexture(mEquipStrengthen.costMoneyTexture, DEquip.EQUIP_STRENGTHEN_MONEY_ID_1);
        mEquipStrengthen.costMoneyNum.text       = addExpNum.ToString();
        mEquipStrengthen.equipStrengthLevel.text = GTTools.Format("强化等级 {0}", equip.StrengthenLevel);
        GTItemHelper.ShowProgressText(mEquipStrengthen.equipStrengthExp, equip.StrengthenExp, levelDB.RequireExp);
        GTItemHelper.ShowProgressSlider(mEquipStrengthen.equipStrengthExpBar, equip.StrengthenExp, levelDB.RequireExp);
        Dictionary <EAttr, int> propertys = AttrHelper.GetPropertys(equip);

        GTItemHelper.ShowEquipStrengthText(mEquipStrengthen.strengthText, itemID, equip.StrengthenLevel);
        GTItemHelper.ShowPropertyText(mEquipStrengthen.propertyText, propertys, true);
    }
Esempio n. 4
0
    private void OnAck_StrengthEquip(MessageRecv obj)
    {
        System.IO.MemoryStream ms  = new System.IO.MemoryStream(obj.Data);
        AckStrengthEquip       ack = Serializer.Deserialize <AckStrengthEquip>(ms);

        XEquip       equip           = ack.TarEquip;
        List <XItem> list            = ack.UseItems;
        DEquip       cfg             = ReadCfgEquip.GetDataById(equip.Id);
        int          strengthenLevel = equip.StrengthenLevel;
        int          strID           = cfg.Quality * 1000 + strengthenLevel + 1;
        int          addExpNum       = EquipModule.Instance.GetStrengthenExpByMatList(list);

        DEquipStrengLevel db = ReadCfgEquipStrengLevel.GetDataById(strID);
        int expNum           = db.RequireExp - equip.StrengthenExp;

        while (addExpNum >= expNum)
        {
            strengthenLevel++;
            db      = ReadCfgEquipStrengLevel.GetDataById(cfg.Quality * 1000 + strengthenLevel + 1);
            expNum += db.RequireExp;
        }
        equip.StrengthenLevel = strengthenLevel;
        equip.StrengthenExp   = addExpNum + db.RequireExp - expNum;

        DataDBSEquip.Update(equip.Instance, equip);
        GTDataManager.Instance.UseMoney(DEquip.EQUIP_STRENGTHEN_MONEY_ID_1, expNum);
        for (int i = 0; i < list.Count; i++)
        {
            XItem item = list[i];
            if ((EPosType)item.PosType == EPosType.RoleMoney)
            {
                GTDataManager.Instance.UseMoney(item.Id, item.Num);
            }
            else
            {
                GTDataManager.Instance.DelBagEquip(item.Pos);
            }
        }

        CharacterManager.Instance.SyncMainPlayerData(ESyncDataType.TYPE_BASEATTR);

        GTEventCenter.FireEvent(GTEventID.TYPE_STRENGTHEN_EQUIP);
        GTEventCenter.FireEvent(GTEventID.TYPE_CHANGE_FIGHTVALUE);
    }