Example #1
0
    override public bool BuildProperty(PropertyOperation operation)
    {
        DefenceTableItem itemdefence = GetDeRes();

        operation.AddPro((int)PropertyTypeEnum.PropertyTypeMaxHP, prolifestren == -1 ? 0 : prolifestren + itemdefence.basePropertyLife);
        operation.AddPro((int)PropertyTypeEnum.PropertyTypeMaxHP, prolifestars == -1 ? 0 : prolifestars);

        operation.AddPro((int)PropertyTypeEnum.PropertyTypeDamage, prodamagestren == -1 ? 0 : prodamagestren + itemdefence.basePropertyDamage);
        operation.AddPro((int)PropertyTypeEnum.PropertyTypeDamage, prodamagestars == -1 ? 0 : prodamagestars);

        operation.AddPro((int)PropertyTypeEnum.PropertyTypeCrticalLV, procritstren == -1 ? 0 : procritstren + itemdefence.basePropertyCrit);
        operation.AddPro((int)PropertyTypeEnum.PropertyTypeCrticalLV, procritstars == -1 ? 0 : procritstars);

        operation.AddPro((int)PropertyTypeEnum.PropertyTypeDefance, prodefencestren == -1 ? 0 : prodefencestren + itemdefence.basePropertyDefence);
        operation.AddPro((int)PropertyTypeEnum.PropertyTypeDefance, prodefencestars == -1 ? 0 : prodefencestars);

        for (int i = 0; i < stoneinfo.Count; ++i)
        {
            StoneTableItem item = DataManager.StoneTable[stoneinfo[i].stoneid] as StoneTableItem;
            if (null == item)
            {
                continue;
            }
            operation.AddPro(item.proid, item.provalue);
        }
        return(false);
    }
Example #2
0
    public void OnBtnPromoteHandler()
    {
        SoundManager.Instance.Play(15);
        PlayerDataModule module = ModuleManager.Instance.FindModule <PlayerDataModule>();

        if (null == module)
        {
            return;
        }

        DefenceObj       defencedata    = module.GetItemByIDAndPos(uiparam.itemid, uiparam.packpos, uiparam.packtype) as DefenceObj;
        DefenceTableItem defenceItemold = DataManager.DefenceTable[uiparam.itemid] as DefenceTableItem;

        if (null == defencedata || null == defenceItemold)
        {
            return;
        }

        DefenceCombItem combItem = DataManager.DefenceCombTable[defenceItemold.combId] as DefenceCombItem;

        if (null == combItem)
        {
            //弹窗:装备无法提升
            return;
        }

        DefenceTableItem defenceitempromote = DataManager.DefenceTable[combItem.defenceproducedId] as DefenceTableItem;

        //打开二级界面,显示需要的材料,玩家拥有的材料,装备升阶需要的等级

        uint playerhascitem1 = module.GetItemNumByID(combItem.item1, PackageType.Pack_Bag);
        uint playerhascitem2 = module.GetItemNumByID(combItem.item2, PackageType.Pack_Bag);

        if (defenceitempromote.uselevel > module.GetLevel())
        {
            PopTipManager.Instance.AddNewTip(StringHelper.GetString("roll_lv_need"));
            return;
        }

        if (playerhascitem1 < combItem.num1)
        {
            //弹窗:道具【名称】【个数】不足
            //TODO
            PopTipManager.Instance.AddNewTip(StringHelper.GetString("item_need").Replace("?", ItemManager.Instance.getItemName(combItem.item1)));
            return;
        }

        if (playerhascitem2 < combItem.num2)
        {
            PopTipManager.Instance.AddNewTip(StringHelper.GetString("item_need").Replace("?", ItemManager.Instance.getItemName(combItem.item2)));
            return;
        }

        PromoteDefenceActionParam param = new PromoteDefenceActionParam();

        param.DefenceId = uiparam.itemid;
        param.PackType  = (int)uiparam.packtype;
        param.pos       = uiparam.packpos;
        Net.Instance.DoAction((int)Message.MESSAGE_ID.ID_MSG_DEFENCE_PROMOTE, param);
    }
Example #3
0
    public bool StrenDefence(DefenceUIParam uiparam)
    {
        PlayerDataModule module = ModuleManager.Instance.FindModule <PlayerDataModule>();

        if (null == module)
        {
            return(false);
        }

        DefenceObj       defencedata = module.GetItemByIDAndPos(uiparam.itemid, uiparam.packpos, uiparam.packtype) as DefenceObj;
        DefenceTableItem defenceItem = DataManager.DefenceTable[uiparam.itemid] as DefenceTableItem;

        if (null == defencedata || null == defenceItem)
        {
            return(false);
        }

        //当前装备是否可以强化
        if (defencedata.GetStrenLv() >= defenceItem.strenLevelMax)
        {
            //弹窗.当前装备强化等级已达到最高等级,请提升装备品质
            PopTipManager.Instance.AddNewTip(StringHelper.GetString("strenmax"));
            return(false);
        }

        //根据当前装备属性取得强化等级及消耗并显示
        int strenlv = defencedata.GetStrenLv();
        DefenceStrenProItem strenproItem = DataManager.DefenceStrenProTable[defenceItem.strenSerialNumber + strenlv] as DefenceStrenProItem;
        DefenceStrenItem    strenItem    = DataManager.DefenceStrenTable[strenlv + 1] as DefenceStrenItem;

        if (strenproItem == null || strenItem == null)
        {
            return(false);
        }

        uint x = module.GetProceeds(ProceedsType.Money_Game);

        if (module.GetProceeds(ProceedsType.Money_Game) < strenItem.money * strenproItem.ratio)
        {
            //金币不足,弹窗:提示玩家直接购买
            //TODO
            PopTipManager.Instance.AddNewTip(StringHelper.GetString("money_game_shortage"));
            return(false);
        }

        StrenDefenceActionParam param = new StrenDefenceActionParam();

        param.DefenceId = uiparam.itemid;
        param.PackType  = (int)uiparam.packtype;
        param.pos       = uiparam.packpos;
        param.strenten  = false;

        Net.Instance.DoAction((int)Message.MESSAGE_ID.ID_MSG_DEFENCE_STEN, param);
        return(true);
    }
Example #4
0
    public bool RisingStar(DefenceUIParam uiparam)
    {
        PlayerDataModule module = ModuleManager.Instance.FindModule <PlayerDataModule>();

        if (null == module)
        {
            return(false);
        }

        DefenceObj       defencedata = module.GetItemByIDAndPos(uiparam.itemid, uiparam.packpos, uiparam.packtype) as DefenceObj;
        DefenceTableItem defenceItem = DataManager.DefenceTable[uiparam.itemid] as DefenceTableItem;

        if (null == defencedata || null == defenceItem)
        {
            return(false);
        }


        //判断装备是否可以升星
        int starslv = defencedata.GetStarsLv();

        if (starslv >= defenceItem.starsLevelMax)
        {
            //弹窗.当前装备星阶已达到最高等级,请提升装备品质
            PopTipManager.Instance.AddNewTip(StringHelper.GetString("rising_stars_max"));
            return(false);
        }

        DefenceStarsItem    starsitem    = DataManager.DefenceStarsTable[starslv + 1] as DefenceStarsItem;
        DefenceStarsProItem starsproitem = DataManager.DefenceStarsProTable[defenceItem.starsSerialNumber + starslv] as DefenceStarsProItem;

        //判断升星石是否足够
        if (module.GetItemNumByID(starsitem.starsstoneId, PackageType.Pack_Bag) < starsitem.cstarsstone * starsproitem.scale)
        {
            //升星石不足,弹窗:提示玩家直接购买
            //TODO
            PopTipManager.Instance.AddNewTip(StringHelper.GetString("rising_stones_need"));
            return(false);
        }

        RisingStarsActionParam param = new RisingStarsActionParam();

        param.DefenceId = uiparam.itemid;
        param.PackType  = (int)uiparam.packtype;
        param.pos       = uiparam.packpos;
        param.riseten   = false;

        Net.Instance.DoAction((int)Message.MESSAGE_ID.ID_MSG_DEFENCE_RISING_STAR, param);

        return(true);
    }
Example #5
0
    public void InitBasePro()
    {
        DefenceTableItem item = GetDeRes();

        if (-1 != item.basePropertyCrit)
        {
            procritstren = 0;
            procritstars = 0;
        }
        else
        {
            procritstren = -1;
            procritstars = -1;
        }

        if (-1 != item.basePropertyDamage)
        {
            prodamagestren = 0;
            prodamagestars = 0;
        }
        else
        {
            prodamagestren = -1;
            prodamagestars = -1;
        }

        if (-1 != item.basePropertyDefence)
        {
            prodefencestren = 0;
            prodefencestars = 0;
        }
        else
        {
            prodefencestren = -1;
            prodefencestars = -1;
        }

        if (-1 != item.basePropertyLife)
        {
            prolifestren = 0;
            prolifestars = 0;
        }
        else
        {
            prolifestren = -1;
            prolifestars = -1;
        }
    }
    public void ApplyEquipConfig(int[] equipconfigs)
    {
        if (equipconfigs == null)
        {
            return;
        }
        Dictionary <string, string> parts = new Dictionary <string, string>();

        for (int i = 0; i < (int)EquipSlot.EquipSlot_MAX; ++i)
        {
            if (mEquipmentList[i] == equipconfigs[i])
            {
                continue;
            }

            mEquipmentList[i] = equipconfigs[i];
            int id = (int)mEquipmentList[i];
            if (id < 0)
            {
                continue;
            }
            DefenceTableItem table = DataManager.DefenceTable[id] as DefenceTableItem;
            if (table == null)
            {
                continue;
            }

            PartModelTableItem item = DataManager.PartModelTable[table.modelShowId] as PartModelTableItem;
            if (item == null)
            {
                continue;
            }

            if (!string.IsNullOrEmpty(item.solt) && !string.IsNullOrEmpty(item.file))
            {
                mVisual.ChangeElment(item.solt, AssetConfig.ModelPath + "Role/" + item.file + AssetConfig.AssetSuffix, null);
            }
        }
    }
    private void SetDefenceLabel(PlayerDataModule module)
    {
        DefenceObj defencedata = module.GetItemByIDAndPos(mParam.itemid, mParam.packpos, mParam.packtype) as DefenceObj;

        if (null == defencedata)
        {
            return;
        }
        string ss = string.Format(StringHelper.GetString("defence_sale_money_count"), defencedata.GetSaleMoney());

        if (defencedata.GetSaleStars() > 0)
        {
            ss += "," + string.Format(StringHelper.GetString("defence_sale_starscout"), defencedata.GetSaleStars());
        }
        if (defencedata.GetSaleStones() > 0)
        {
            ss += "," + string.Format(StringHelper.GetString("defence_sale_stonescout"), defencedata.GetSaleStones());
        }
        ss += ".";

        DefenceTableItem item = DataManager.DefenceTable[mParam.itemid] as DefenceTableItem;

        if (null == item)
        {
            return;
        }
        ConfigTableItem configitem = DataManager.ConfigTable[item.quality] as ConfigTableItem;

        if (null == configitem)
        {
            return;
        }

        ss          += string.Format(StringHelper.GetString("is_sale"), "[" + configitem.value + "]" + item.name);
        mLabel1.text = ss;
    }
Example #8
0
    private void InitUI()
    {
        PlayerDataModule module = ModuleManager.Instance.FindModule <PlayerDataModule>();

        if (module == null)
        {
            return;
        }

        DefenceObj       defencedata    = module.GetItemByIDAndPos(uiparam.itemid, uiparam.packpos, uiparam.packtype) as DefenceObj;
        DefenceTableItem defenceItemold = DataManager.DefenceTable[uiparam.itemid] as DefenceTableItem;

        if (null == defencedata || null == defenceItemold)
        {
            return;
        }

        DefenceCombItem combItem = DataManager.DefenceCombTable[defenceItemold.combId] as DefenceCombItem;

        if (null == combItem)
        {
            PopTipManager.Instance.AddNewTip(StringHelper.GetString("promote_max"));
            return;
        }

        DefenceTableItem defenceitempromote = DataManager.DefenceTable[combItem.defenceproducedId] as DefenceTableItem;

        //打开二级界面,显示需要的材料,玩家拥有的材料,装备升阶需要的等级
        NormalItemTableItem normalitem = DataManager.NormalItemTable[combItem.item1] as NormalItemTableItem;

        if (null == normalitem)
        {
            return;
        }
        UIAtlasHelper.SetSpriteImage(mItem1pic, normalitem.picname);
        mItem1name.text = normalitem.name + "X" + combItem.num1;
        normalitem      = DataManager.NormalItemTable[combItem.item2] as NormalItemTableItem;
        UIAtlasHelper.SetSpriteImage(mItem2pic, normalitem.picname);
        mItem2name.text = normalitem.name + "X" + combItem.num2;

        uint playerhascitem1 = module.GetItemNumByID(combItem.item1, PackageType.Pack_Bag);
        uint playerhascitem2 = module.GetItemNumByID(combItem.item2, PackageType.Pack_Bag);

        if (combItem.num1 > playerhascitem1)
        {
            mHasitem1.text = "[E92224]";
        }
        else
        {
            mHasitem1.text = "[FAFDF4]";
        }

        if (combItem.num2 > playerhascitem2)
        {
            mHasitem2.text = "[E92224]";
        }
        else
        {
            mHasitem2.text = "[FAFDF4]";
        }
        mHasitem1.text += playerhascitem1.ToString();
        mHasitem2.text += playerhascitem2.ToString();

        if (defenceitempromote.uselevel > module.GetLevel())
        {
            mLvhint.text = "[E92224]";
        }
        else
        {
            mLvhint.text = "[FAFDF4]";
        }
        mLvhint.text += StringHelper.GetString("defencepromotehint").Replace("?", defenceitempromote.uselevel.ToString());
    }
Example #9
0
    private bool CheckItem()
    {
        //Hashtable map = null;

        IDictionaryEnumerator itr = DataManager.NormalItemTable.GetEnumerator();

        while (itr.MoveNext())
        {
            NormalItemTableItem norres = itr.Value as NormalItemTableItem;
            if (ItemManager.GetItemType((uint)norres.id) != ItemType.Normal)
            {
                GameDebug.LogError("道具ID非法。id = " + norres.id.ToString());
                return(false);
            }
        }
//         map = DataManager.NormalItemTable;
//         foreach (NormalItemTableItem norres in map.Values)
//         {
//             if(ItemManager.GetItemType((uint)norres.id) != ItemType.Normal)
//             {
//                 GameDebug.LogError("道具ID非法。id = " + norres.id.ToString());
//                 return false;
//             }
//         }
        itr = DataManager.DefenceTable.GetEnumerator();
        while (itr.MoveNext())
        {
            DefenceTableItem deres = itr.Value as DefenceTableItem;
            if (ItemManager.GetItemType((uint)deres.id) != ItemType.Defence)
            {
                GameDebug.LogError("装备ID非法。id = " + deres.id.ToString());
                return(false);
            }
        }
//         map = DataManager.DefenceTable;
//         foreach (DefenceTableItem deres in map.Values)
//         {
//
//         }
        itr = DataManager.WeaponTable.GetEnumerator();
        while (itr.MoveNext())
        {
            WeaponTableItem wres = itr.Value as WeaponTableItem;
            if (ItemManager.GetItemType((uint)wres.id) != ItemType.Weapon)
            {
                GameDebug.LogError("武器ID非法。id = " + wres.id.ToString());
                return(false);
            }
        }

//         map = DataManager.WeaponTable;
//         foreach (WeaponTableItem wres in map.Values)
//         {
//             if (ItemManager.GetItemType((uint)wres.id) != ItemType.Weapon)
//             {
//                 GameDebug.LogError("武器ID非法。id = " + wres.id.ToString());
//                 return false;
//             }
//         }
        itr = DataManager.BoxItemTable.GetEnumerator();
        while (itr.MoveNext())
        {
            BoxItemTableItem wres = itr.Value as BoxItemTableItem;
            if (ItemManager.GetItemType((uint)wres.id) != ItemType.Box)
            {
                GameDebug.LogError("箱子道具ID非法。id = " + wres.id.ToString());
                return(false);
            }
        }
//         map = DataManager.BoxItemTable;
//         foreach (BoxItemTableItem wres in map.Values)
//         {
//             if (ItemManager.GetItemType((uint)wres.id) != ItemType.Box)
//             {
//                 GameDebug.LogError("箱子道具ID非法。id = " + wres.id.ToString());
//                 return false;
//             }
//         }
        return(true);
    }
Example #10
0
    public void SetSomeInfo(DefenceTableItem item)
    {
        mResId = item.id;
        InitBasePro();
        this.mStrenlevel = item.strenLevelMin;
        this.mStarslevel = item.starsLevelMin;
        salemoney        = item.equiprice;
        //+装备初始战力
        fightvalue = item.fightValue;

        DefenceStrenProItem strenproitem = DataManager.DefenceStrenProTable[item.strenSerialNumber + item.strenLevelMin] as DefenceStrenProItem;

        if (null == strenproitem)
        {
            return;
        }
        DefenceStrenItem strenitem = DataManager.DefenceStrenTable[item.strenLevelMin] as DefenceStrenItem;

        if (null == strenitem)
        {
            return;
        }
        //+装备强化战力
        fightvalue += strenproitem.fightvalue;
        if (-1 != procritstren)
        {
            procritstren = strenproitem.property;
        }
        if (-1 != prodamagestren)
        {
            prodamagestren = strenproitem.property;
        }
        if (-1 != prodefencestren)
        {
            prodefencestren = strenproitem.property;
        }
        if (-1 != prolifestren)
        {
            prolifestren = strenproitem.property;
        }

        DefenceStarsProItem starsproitem = DataManager.DefenceStarsProTable[item.starsSerialNumber + mStarslevel] as DefenceStarsProItem;

        if (null == starsproitem)
        {
            GameDebug.LogError("无效的升星序列 id = " + (item.starsSerialNumber + mStarslevel));
            return;
        }

        fightvalue += starsproitem.fightvalue;
        if (-1 != procritstars)
        {
            procritstars = starsproitem.property;
        }
        if (-1 != prodamagestars)
        {
            prodamagestars = starsproitem.property;
        }
        if (-1 != prodefencestars)
        {
            prodefencestars = starsproitem.property;
        }
        if (-1 != prolifestars)
        {
            prolifestars = starsproitem.property;
        }
    }
Example #11
0
    public void SetProperty()
    {
        DefenceTableItem item = GetDeRes();

        InitBasePro();

        for (int i = item.strenLevelMin; i <= mStrenlevel; ++i)
        {
            DefenceStrenProItem strenproitem = DataManager.DefenceStrenProTable[item.strenSerialNumber + i] as DefenceStrenProItem;
            if (null == strenproitem)
            {
                continue;
            }
            DefenceStrenItem strenitem = DataManager.DefenceStrenTable[i] as DefenceStrenItem;
            if (null == strenitem)
            {
                continue;
            }
            salemoney += (int)(strenitem.money * strenproitem.ratio);
            if (i == mStrenlevel)
            {
                //+装备强化战力
                fightvalue += strenproitem.fightvalue;
                if (-1 != procritstren)
                {
                    procritstren = strenproitem.property;
                }
                if (-1 != prodamagestren)
                {
                    prodamagestren = strenproitem.property;
                }
                if (-1 != prodefencestren)
                {
                    prodefencestren = strenproitem.property;
                }
                if (-1 != prolifestren)
                {
                    prolifestren = strenproitem.property;
                }
            }
        }

        //装备初始金币
        salemoney += item.equiprice;
        DefenceStarsProItem starsproitem = DataManager.DefenceStarsProTable[item.starsSerialNumber + mStarslevel] as DefenceStarsProItem;

        if (null == starsproitem)
        {
            GameDebug.LogError("无效的升星序列 id = " + (item.starsSerialNumber + mStarslevel));
            return;
        }

        //+装备升星战力
        fightvalue += starsproitem.fightvalue;
        if (-1 != procritstars)
        {
            procritstars = starsproitem.property;
        }
        if (-1 != prodamagestars)
        {
            prodamagestars = starsproitem.property;
        }
        if (-1 != prodefencestars)
        {
            prodefencestars = starsproitem.property;
        }
        if (-1 != prolifestars)
        {
            prolifestars = starsproitem.property;
        }

        //+装备初始战力
        fightvalue += item.fightValue;
    }