Пример #1
0
    public void TryUpStarEquip(XEquip equip)
    {
        if (EquipModule.Instance.IsFullStarLevel(equip))
        {
            GTItemHelper.ShowTip("装备星级已满");
            return;
        }
        DEquip     equipDB = ReadCfgEquip.GetDataById(equip.Id);
        int        starID  = equipDB.Quality * 1000 + equip.StarLevel + 1;
        DEquipStar db      = ReadCfgEquipStar.GetDataById(starID);

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

        ReqUpStarEquip req = new ReqUpStarEquip();

        req.TarEquip = equip;
        NetworkManager.Instance.Send <ReqUpStarEquip>(MessageID.MSG_REQ_UPSTAR_EQUIP, req);
    }
Пример #2
0
    static void CalcEquipStarLevel(Dictionary <EAttr, int> dict, XEquip equip)
    {
        int        lv      = equip.StarLevel;
        DEquip     equipDB = ReadCfgEquip.GetDataById(equip.Id);
        DEquipStar starDB  = ReadCfgEquipStar.GetDataById(equipDB.Quality * 1000 + lv);
        float      percent = 1;

        if (starDB != null)
        {
            percent = starDB.Percent / 100f + 1;
        }
        dict[EAttr.HP] = (int)(dict[EAttr.HP] * percent);
        dict[EAttr.AP] = (int)(dict[EAttr.AP] * percent);
        dict[EAttr.DF] = (int)(dict[EAttr.DF] * percent);
    }
Пример #3
0
    private void OnAck_UpStarEquip(MessageRecv obj)
    {
        System.IO.MemoryStream ms  = new System.IO.MemoryStream(obj.Data);
        AckUpStarEquip         ack = Serializer.Deserialize <AckUpStarEquip>(ms);


        XEquip equip  = ack.TarEquip;
        DEquip cfg    = ReadCfgEquip.GetDataById(equip.Id);
        int    starID = cfg.Quality * 1000 + equip.StarLevel + 1;

        DEquipStar db = ReadCfgEquipStar.GetDataById(starID);

        GTDataManager.Instance.UseMoney(db.CostMoneyId, db.CostMoneyNum);
        GTDataManager.Instance.UseItemById(db.CostItemId, db.CostItemNum);
        equip.StarLevel++;
        DataDBSEquip.Update(equip.Instance, equip);

        CharacterManager.Instance.SyncMainPlayerData(ESyncDataType.TYPE_BASEATTR);

        GTEventCenter.FireEvent(GTEventID.TYPE_UPSTAR_EQUIP);
        GTEventCenter.FireEvent(GTEventID.TYPE_CHANGE_FIGHTVALUE);
    }
Пример #4
0
    public static void ShowEquipStarText(UILabel label, int equipID, int starLevel, bool showAll = true)
    {
        if (label == null)
        {
            return;
        }
        label.text = string.Empty;
        DEquip equipDB = ReadCfgEquip.GetDataById(equipID);

        if (showAll)
        {
            for (int i = 0; i < 5; i++)
            {
                int        lv      = i + 1;
                DEquipStar starDB  = ReadCfgEquipStar.GetDataById(equipDB.Quality * 1000 + lv);
                float      percent = starDB == null ? 0 : starDB.Percent;
                string     desc    = GTTools.Format("生命、攻击和防御+{0}%", percent);
                string     v       = string.Empty;
                if (starLevel >= lv)
                {
                    v = GTTools.Format("[00ff00]{0}[-]", desc);
                }
                else
                {
                    v = GTTools.Format("[777777]{0} (升星至{1}级生效)[-]", desc, lv);
                }
                label.Append(v);
            }
        }
        else
        {
            DEquipStar starDB  = ReadCfgEquipStar.GetDataById(equipDB.Quality * 1000 + starLevel);
            string     format  = "{0}提高 [00ff00]{1}[-] %";
            float      percent = starDB == null ? 0 : starDB.Percent;
            label.Append(GTTools.Format(format, "生命", percent));
            label.Append(GTTools.Format(format, "攻击", percent));
            label.Append(GTTools.Format(format, "防御", percent));
        }
    }
Пример #5
0
    private void ShowEquipStarView()
    {
        XEquip equip = GTDataManager.Instance.GetEquipDataByPos(mPosType, mPos);

        if (equip == null)
        {
            return;
        }
        int itemID = equip.Id;

        if (EquipModule.Instance.IsFullAdvanceLevel(equip) == true)
        {
            return;
        }
        GTItemHelper.ShowItemTexture(mEquipStar.nowEquipTexture, itemID);
        GTItemHelper.ShowItemQuality(mEquipStar.nowEquipQuality, itemID);
        GTItemHelper.ShowItemName(mEquipStar.nowEquipName, itemID);
        GTItemHelper.ShowItemTexture(mEquipStar.nexEquipTexture, itemID);
        GTItemHelper.ShowItemQuality(mEquipStar.nexEquipQuality, itemID);
        GTItemHelper.ShowItemName(mEquipStar.nexEquipName, itemID);
        GTItemHelper.ShowStarNum(mEquipStar.nowEquipStars, equip.StarLevel);
        GTItemHelper.ShowStarNum(mEquipStar.nexEquipStars, equip.StarLevel + 1);

        DEquip     equipDB   = ReadCfgEquip.GetDataById(equip.Id);
        DEquipStar nexStarDB = ReadCfgEquipStar.GetDataById(equipDB.Quality * 1000 + equip.StarLevel + 1);

        int hasItemNum = GTDataManager.Instance.GetItemCountById(nexStarDB.CostItemId);

        GTItemHelper.ShowItemTexture(mEquipStar.costItemTexture, nexStarDB.CostItemId);
        GTItemHelper.ShowItemQuality(mEquipStar.costItemQuality, nexStarDB.CostItemId);
        GTItemHelper.ShowPriceText(mEquipStar.costItemNum, hasItemNum, nexStarDB.CostItemNum);

        GTItemHelper.ShowItemTexture(mEquipStar.costMoneyTexture, nexStarDB.CostMoneyId);
        mEquipStar.costMoneyNum.text = nexStarDB.CostMoneyNum.ToString();
        GTItemHelper.ShowEquipStarText(mEquipStar.starText, itemID, equip.StarLevel);
        GTItemHelper.ShowEquipStarText(mEquipStar.nowEquipPropertys, itemID, equip.StarLevel, false);
        GTItemHelper.ShowEquipStarText(mEquipStar.nexEquipPropertys, itemID, equip.StarLevel + 1, false);
    }