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); }
protected override void OnRequest(request_rising_stars request, object userdata) { RisingStarsActionParam param = userdata as RisingStarsActionParam; if (param == null) { return; } request.defenceId = param.DefenceId; request.packtype = param.PackType; request.pos = param.pos; if (param.riseten) { request.isstarsten = param.riseten; } }