|
|
- --只显示装备信息的tips, 可与showiconitem搭配使用
- SealShowTips = SealShowTips or BaseClass(SealToolTips)
-
- SealShowTips.ONLY_SHOW = 0 --只展示信息
- SealShowTips.COMPOSE_OFF = 1 --显示卸下按钮,点击移除合成物品
- SealShowTips.EQUIP_RECOMMAND_TARGET = 2 --显示合成装备的推荐属性
-
- function SealShowTips:__init()
- self.base_file = "common"
- self.layout_file = "EquipToolTips"
- self.layer_name = "Top"
-
- self.use_background = true
- self.click_bg_toClose = true
- self.close_mode = CloseMode.CloseDestroy
- self.destroy_imm = true
-
- self.dynamic = nil
- self.is_show_btn = false
-
- self:AddPreLoadList("common",{"SealCompareTips"})
-
- self.model = GoodsModel:getInstance()
- self.seal_item_list = {}
-
- self.load_callback = function ()
- self:LoadSuccess()
- end
- self.open_callback = function ()
- self:SetData(self.dynamic)
- end
- self.close_callback = function ()
- end
- self.destroy_callback = function ()
- self:Remove()
- end
- end
-
- --[[
- dynamic: 在外部整合好的物品动态信息table,一般获取背包中的动态信息即可
- 若要实现预览等特殊信息,在外部修改后传入
- type: 枚举类型,实现某个界面的特殊需求,显示某些按钮,实现特定功能
- ]]
- function SealShowTips:Open(dynamic, x, y, type)
- self.dynamic = dynamic
- self.type = type
- self.pos_x = x
- self.pos_y = y
-
- BaseView.Open(self)
- end
-
- function SealShowTips:Remove()
- if self.icon_item then
- self.icon_item:DeleteMe()
- self.icon_item = nil
- end
-
- for i,v in ipairs(self.seal_item_list) do
- v:DeleteMe()
- v = nil
- end
- self.seal_item_list = {}
-
- --[[self:DeleteArrowTip()
- if self.addNumComponent then
- if self.change_count_id then
- self.addNumComponent:UnBind(self.change_count_id)
- self.change_count_id = nil
- end
- self.addNumComponent:DeleteMe()
- self.addNumComponent = nil
- end--]]
- end
-
- function SealShowTips:InitEvent()
- local function onBtnClickHandler(target)
- if target == self.takeBtn then
- if self.type == SealShowTips.COMPOSE_OFF then
- ComposeModel:getInstance():Fire(ComposeEvent.COMPOSE_GOODS_OFF, self.dynamic.goods_id)
- end
- end
- self:Close()
- end
- AddClickEvent(self.takeBtn, onBtnClickHandler)
- end
-
- function SealShowTips:SetData(dynamic)
- self.dynamic = dynamic
- self.goods_vo = GoodsModel:getInstance():GetGoodsBasicByTypeId(self.dynamic.type_id)
- if self.dynamic == nil or self.goods_vo == nil then
- return print("SealShowTips里面没有物品数据")
- end
-
- local color_str = ColorUtil.WHITE
- if self.goods_vo.level > RoleManager.Instance.mainRoleInfo.level then
- color_str = ColorUtil.RED
- end
- self.level.text = "<color="..color_str..">" .. self.goods_vo.level .. "</color>"
- -- local index = Config.ConfigEquipShow[self.goods_vo.equip_type].index
- self.equip_pos.text = Trim(Config.Holysealpos[self.goods_vo.subtype].name)
- self.fight.text = self.goods_vo.combat_power or 0
-
- color_str = (self.goods_vo.career_id == 0 or RoleManager.Instance.mainRoleInfo.career == self.goods_vo.career_id) and ColorUtil.WHITE or ColorUtil.RED
- local career_name = Config.Career[self.goods_vo.career_id] and Config.Career[self.goods_vo.career_id].career_name or "通用"
- self.career.text = "<color="..color_str..">" .. career_name .. "</color>"
-
- -- self:CreateStar(8)
-
- self.depot_conta.gameObject:SetActive(false)
-
- local stren = ""
- self.dynamic.stren = self.dynamic.stren or 0
- if self.dynamic.stren > 0 then
- stren = "+" .. self.dynamic.stren
- end
- self.nameText.text = "<color="..WordManager.GetGoodsColor(self.goods_vo.color)..">" .. self.goods_vo.goods_name .. stren .. "</color>"
- local step = Config.Holysealgoods[self.goods_vo.type_id] and Config.Holysealgoods[self.goods_vo.type_id].stage or 0
- self.step_num.text = "<color="..WordManager.GetGoodsColor(self.dynamic.color)..">" .. step .. "阶</color>"
-
- self.icon_item:SetData(self.goods_vo)
- self.equip_score.text = self.dynamic.rating
- self.composite_score.text = self.dynamic.overall_rating or self.dynamic.rating
-
- local basic = GoodsModel:getInstance():GetGoodsBasicByTypeId(self.goods_vo.type_id)
- if basic then
- local base_pro = ErlangParser:GetInstance():Parse(basic.base_attrlist)
- self:SetProperty(base_pro, self.dynamic.stren, basic.equip_type)
- self.fight.text = self.dynamic.combat_power or 0
- end
-
- self:SetAddProperty(self.dynamic)
- self:SetSpecialProperty(self.goods_vo)
- self:SetSuitProperty(self.dynamic, self.goods_vo.equip_type)
-
- --self:SetSellState(self.dynamic.sell, self.dynamic.price_type, self.dynamic.type_id)
- self:Refresh()
- end
-
- --按钮显示
- function SealShowTips:SetBtns()
- for i,v in ipairs(self.btn_list) do
- v:SetActive(false)
- end
-
- if self.type == SealShowTips.COMPOSE_OFF then
- self.takeBtn:SetActive(true)
- end
- end
-
- --刷新相关控件的位置
- function SealShowTips:Refresh()
- if self.dynamic then
- self:RefreshPosAndSize(self.dynamic)
- self:SetRootPos()
- self:SetBtns()
- end
- end
|