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); }
//服务器数据信息,临时数据 override public bool Init(ItemObjInit initData) { if (!base.Init(initData)) { return(false); } DefenceObjInit defenceInit = initData as DefenceObjInit; if (defenceInit == null) { return(false); } mStrenlevel = defenceInit.mStrenlevel; mStarslevel = defenceInit.mStarslevel; for (int i = 0; i < defenceInit.stoneinfo.Count; ++i) { stoneinfo.Add(defenceInit.stoneinfo[i]); StoneTableItem item = DataManager.StoneTable[stoneinfo[i].stoneid] as StoneTableItem; if (null == item) { continue; } //+宝石战力 fightvalue += item.score; } salestones = stoneinfo.Count; SetProperty(); return(true); }
public void StoneInlay(DefenceUIParam uiparam) { PlayerDataModule module = ModuleManager.Instance.FindModule <PlayerDataModule>(); if (null == module) { return; } DefenceObj defencedata = module.GetItemByIDAndPos(uiparam.itemid, uiparam.packpos, uiparam.packtype) as DefenceObj; StoneTableItem stoneitem = DataManager.StoneTable[uiparam.stoneid] as StoneTableItem; if (null == defencedata || null == stoneitem) { PopTipManager.Instance.AddNewTip("请选择宝石"); return; } List <Message.stone_info> stoneinfo = defencedata.GetStoneInfo(); for (int i = 0; i < stoneinfo.Count; ++i) { StoneTableItem itemsss = DataManager.StoneTable[stoneinfo[i].stoneid] as StoneTableItem; if (null == itemsss) { continue; } if (itemsss.type == stoneitem.type) { //弹窗,不能镶嵌相同种类的宝石 PopTipManager.Instance.AddNewTip(StringHelper.GetString("not_inlay_same_type")); return; } } StoneInlayActionParam param = new StoneInlayActionParam(); param.DefenceId = uiparam.itemid; param.stoneId = uiparam.stoneid; param.PackType = (int)uiparam.packtype; param.pos = uiparam.packpos; param.stonepos = uiparam.stonepos; Net.Instance.DoAction((int)Message.MESSAGE_ID.ID_MSG_DEFENCE_STONE_INLAY, param); }
public string GetStonePic() { int mMaxstoneid = -1; for (int i = 0; i < stoneinfo.Count; ++i) { if (stoneinfo[i].stoneid > mMaxstoneid) { mMaxstoneid = stoneinfo[i].stoneid; } } StoneTableItem item = DataManager.StoneTable[mMaxstoneid] as StoneTableItem; if (null == item) { return(null); } return(item.picname); }
public void StoneUnInlay(DefenceUIParam uiparam) { PlayerDataModule module = ModuleManager.Instance.FindModule <PlayerDataModule>(); if (null == module) { return; } DefenceObj defencedata = module.GetItemByIDAndPos(uiparam.itemid, uiparam.packpos, uiparam.packtype) as DefenceObj; StoneTableItem stoneitem = DataManager.StoneTable[uiparam.stoneid] as StoneTableItem; PackageManager pack = module.GetPackManager(); if (null == defencedata || null == stoneitem || null == pack) { return; } // 判读Bag是否已满 if (pack.GetPackMaxVaildSize(PackageType.Pack_Gem) >= pack.GetPackMaxSize(PackageType.Pack_Gem) && pack.GetNumByID(uiparam.stoneid, PackageType.Pack_Gem) >= stoneitem.maxFurl) { //弹窗:Bag已满 PopTipManager.Instance.AddNewTip(StringHelper.GetString("bag_full")); return; } StoneUnInlayActionParam param = new StoneUnInlayActionParam(); param.DefenceId = uiparam.itemid; param.stoneId = uiparam.stoneid; param.PackType = (int)uiparam.packtype; param.pos = uiparam.packpos; param.stonepos = uiparam.stonepos; Net.Instance.DoAction((int)Message.MESSAGE_ID.ID_MSG_DEFENCE_STONE_UNINLAY, param); }
private void InitStoneItemInfo() { StoneTableItem item = DataManager.StoneTable[uiparam.itemid] as StoneTableItem; if (null == item) { return; } ConfigTableItem configitem = DataManager.ConfigTable[item.quality] as ConfigTableItem; if (null == configitem) { return; } mItemName.text = "[" + configitem.value + "]" + item.name; mItemType.text = "物品类型"; mItemUseLv.text = item.desc1; mItemDesc.text = item.desc; mItemAbtain.text = item.desc0; mSaleMoney.text = item.gameprice.ToString(); SetIcon(mItemPic, item.picname); SetIcon(mItemPic1, item.picname2); mItemLb.text = item.picname3; }
private bool StoneCombInfoInit(int resid) { StoneTableItem stoneitem = DataManager.StoneTable[resid] as StoneTableItem; if (null == stoneitem) { return(false); } DefenceCombItem combitem = DataManager.DefenceCombTable[stoneitem.combid] as DefenceCombItem; if (null == combitem || 0 == combitem.num1) { GameDebug.LogError("defencecomb.txt中没有此合成序列 id = " + stoneitem.combid); return(false); } PlayerDataModule module = ModuleManager.Instance.FindModule <PlayerDataModule>(); if (null == module) { return(false); } PackageManager pack = module.GetPackManager(); if (null == pack) { return(false); } stoneitem = DataManager.StoneTable[combitem.defenceproducedId] as StoneTableItem; if (null == stoneitem) { GameDebug.LogError("stones.txt中没有此宝石 id = " + combitem.defenceproducedId); return(false); } PropertyTableItem proitem = DataManager.PropertyTable[stoneitem.proid] as PropertyTableItem; if (null == proitem) { return(false); } UIAtlasHelper.SetSpriteImage(mStoneDemandPic, stoneitem.picname); mStoneDemandName.text = stoneitem.name;// + " Lv" + stoneitem.level; mStoneDemandPro.text = proitem.name + " " + stoneitem.provalue; if (module.GetProceeds(ProceedsType.Money_Game) < combitem.moenyused) { mStoneDemandMoney.text = "[E92224]"; } else { mStoneDemandMoney.text = "[3EFF00]"; } mStoneDemandMoney.text += "金币 X" + combitem.moenyused; if (module.GetItemNumByID(combitem.item1, PackageType.Pack_Gem) < combitem.num1) { mStoneDemandNum.text = "[E92224]"; } else { mStoneDemandNum.text = "[3EFF00]"; } mStoneDemandNum.text += stoneitem.name /* + " Lv" + stoneitem.level*/ + " X" + combitem.num1; return(true); }
private void OnRespondCombHandler(EventBase evt) { UILabel stonetext = null; UILabel stonepromt = null; StoneTableItem stoneitem = DataManager.StoneTable[mParam.stoneid] as StoneTableItem; if (null == stoneitem) { GameDebug.LogError("stones.txt中没有此宝石 id = " + mParam.stoneid); return; } DefenceCombItem combitem = DataManager.DefenceCombTable[stoneitem.combid] as DefenceCombItem; if (null == combitem || 0 == combitem.num1) { return; } for (int i = 0; i < 5; ++i) { for (int j = 0; j < 7; ++j) { if (mDicBtn[i][j].name.Equals("Sprite" + mParam.stoneid)) { stonetext = dic[i][j]; } else if (mDicBtn[i][j].name.Equals("Sprite" + combitem.defenceproducedId)) { stonepromt = dic[i][j]; } if (null != stonetext && null != stonepromt) { break; } } } PlayerDataModule module = ModuleManager.Instance.FindModule <PlayerDataModule>(); if (null == module) { SetStoneActive(stonetext); return; } PackageManager pack = module.GetPackManager(); if (null == pack) { SetStoneActive(stonetext); return; } uint num = pack.GetNumByID(combitem.item1, PackageType.Pack_Gem) / (uint)combitem.num1; if (0 != num) { stonetext.text = "【可合成数量 " + num + " 】"; } else { SetStoneActive(stonetext); } stoneitem = DataManager.StoneTable[combitem.defenceproducedId] as StoneTableItem; if (null == stoneitem) { GameDebug.LogError("stones.txt中没有此宝石 id = " + combitem.defenceproducedId); return; } combitem = DataManager.DefenceCombTable[stoneitem.combid] as DefenceCombItem; if (null == combitem) { GameDebug.LogError("defencecomb.txt中没有此合成序列 id = " + stoneitem.combid); return; } num = pack.GetNumByID(combitem.item1, PackageType.Pack_Gem) / (uint)combitem.num1; if (0 != num) { stonepromt.text = "【可合成数量 " + num + " 】"; } StoneCombInfoInit(mParam.stoneid); onCombSucess(); }
public void StoneComb(DefenceUIParam uiparam) { PlayerDataModule module = ModuleManager.Instance.FindModule <PlayerDataModule>(); if (null == module) { return; } StoneTableItem stoneitem = null; if (uiparam.isequiped) { DefenceObj defencedata = module.GetItemByIDAndPos(uiparam.itemid, uiparam.packpos, uiparam.packtype) as DefenceObj; if (null == defencedata) { return; } stoneitem = DataManager.StoneTable[defencedata.GetStoneInfoByPos(uiparam.stonepos).stoneid] as StoneTableItem; } else { stoneitem = DataManager.StoneTable[uiparam.stoneid] as StoneTableItem; } if (null == stoneitem) { return; } if (-1 == stoneitem.combid) { //宝石已达最高等级 PopTipManager.Instance.AddNewTip(StringHelper.GetString("stonesmax")); return; } DefenceCombItem combItem = DataManager.DefenceCombTable[stoneitem.combid] as DefenceCombItem; if (null == combItem) { //弹窗:宝石无法合成 PopTipManager.Instance.AddNewTip(StringHelper.GetString("stone_comb_error")); return; } if (module.GetProceeds(ProceedsType.Money_Game) < combItem.moenyused) { //弹窗:玩家金币不足 PopTipManager.Instance.AddNewTip(StringHelper.GetString("money_game_shortage")); return; } uint playerhascitem = module.GetItemNumByID(combItem.item1, PackageType.Pack_Gem); if (uiparam.isequiped) { playerhascitem += 1; } if (playerhascitem < combItem.num1) { ////弹窗:道具【名称】【个数】不足 stoneitem = DataManager.StoneTable[combItem.item1] as StoneTableItem; if (null == stoneitem) { GameDebug.LogError("stone.txt中没有此宝石 id = " + combItem.item1); return; } PopTipManager.Instance.AddNewTip(StringHelper.GetString("item_need").Replace("?", stoneitem.name)); return; } StoneCombActionParam param = new StoneCombActionParam(); param.DefenceId = uiparam.itemid; param.stoneId = stoneitem.id; param.PackType = (int)uiparam.packtype; param.pos = uiparam.packpos; param.stonepos = uiparam.stonepos; param.isequiped = uiparam.isequiped; Net.Instance.DoAction((int)Message.MESSAGE_ID.ID_MSG_DEFENCE_STONE_COMB, param); }