GoodsTooltips = GoodsTooltips or BaseClass(BaseView)
|
|
function GoodsTooltips:__init()
|
|
self.base_file = "common"
|
|
self.layout_file = "goodsTooltips"
|
|
self.layer_name = "Top"
|
|
self.is_set_zdepth = true
|
|
self.use_background = true
|
|
self.click_bg_toClose = true
|
|
self.hide_maincancas = false
|
|
self.hide_clear_role_model = false
|
|
|
|
self.blur_activity_bg = true
|
|
self.use_show_anim = true
|
|
self.use_hide_anim = true
|
|
|
|
self.base_height = 497
|
|
self.pos_x = 0
|
|
self.pos_y = 0
|
|
self.goods_vo = nil
|
|
self.is_show_btn = nil
|
|
self.show_get_way = false
|
|
-- self.close_fog = true
|
|
self.get_way_item_list = {}
|
|
self.attr_item_list = {}
|
|
self.text_item_list = {}
|
|
self.model = GoodsModel:getInstance()
|
|
self.mainVo = RoleManager.Instance.mainRoleInfo
|
|
self.shop_model = ShopModel:getInstance()
|
|
self.market_model = MarketModel:getInstance()
|
|
self.open_guide_close = true
|
|
self.sound_id = false
|
|
--self.use_local_view = true
|
|
self.load_callback = function ()
|
|
self:LoadSuccess()
|
|
end
|
|
self.open_callback = function ()
|
|
self.layout.gameObject:SetActive(false)
|
|
if self:IsNeedDynamic() then
|
|
local callback = function (dynamic)
|
|
self.goods_vo.expire_time = dynamic.expire_time
|
|
self:SetData()
|
|
end
|
|
GoodsModel:getInstance():GetDynamic(self.goods_vo.goods_id, callback)
|
|
else
|
|
self:SetData()
|
|
end
|
|
end
|
|
self.close_callback = function ()
|
|
GlobalEventSystem:Fire(EventName.EQUIP_TOOL_TIP_CLOSE)
|
|
end
|
|
self.destroy_callback = function ()
|
|
self:Remove()
|
|
end
|
|
end
|
|
|
|
function GoodsTooltips:LoadSuccess()
|
|
|
|
self.layout = self:GetChild("layout")
|
|
self.icon_con = self:GetChild("layout/base_con/icon_con")
|
|
self.nameText = self:GetChild("layout/base_con/nameText"):GetComponent("TextMeshProUGUI")
|
|
self.countTextObj = self:GetChild("layout/base_con/countText").gameObject
|
|
self.countText = self:GetChild("layout/base_con/countText"):GetComponent("TextMeshProUGUI")
|
|
self.levelText = self:GetChild("layout/base_con/levelText"):GetComponent("TextMeshProUGUI")
|
|
self.overdueText = self:GetChild("layout/base_con/overdueText"):GetComponent("TextMeshProUGUI")
|
|
self.overdue = self:GetChild("layout/base_con/overdueText").gameObject
|
|
self.overdue_bg = self:GetChild("layout/base_con/overdue_bg"):GetComponent("Image")
|
|
self.overdue_bg_obj = self:GetChild("layout/base_con/overdue_bg").gameObject
|
|
self.getwayUrlText = self:GetChild("layout/base_con/getwayUrlText"):GetComponent("TextMeshProUGUI")
|
|
self.getwayUrlText_obj = self:GetChild("layout/base_con/getwayUrlText").gameObject
|
|
self.base_con_obj = self:GetChild("layout/base_con").gameObject
|
|
self.get_way_btn = self:GetChild("layout/base_con/get_way_btn").gameObject
|
|
self.getWayConObj = self:GetChild("layout/get_way_con").gameObject
|
|
self.conversionTimeText = self:GetChild("layout/base_con/conversionTimeText"):GetComponent("TextMeshProUGUI")
|
|
|
|
|
|
self.getWayScroll,self.getWayScrollContent,self.getWayCon = GetChildTransforms(self.transform,
|
|
{
|
|
"layout/get_way_con/ScrollView","layout/get_way_con/ScrollView/Viewport/Content","layout/get_way_con/ScrollView/Viewport/Content"
|
|
})
|
|
|
|
self.btns_con = self:GetChild("layout/btns_con")
|
|
self.shiyongBtn = self:GetChild("layout/btns_con/shiyongBtn").gameObject
|
|
self.hechengBtn = self:GetChild("layout/btns_con/hechengBtn").gameObject
|
|
self.chushouBtn = self:GetChild("layout/btns_con/chushouBtn").gameObject
|
|
self.yulanBtn = self:GetChild("layout/btns_con/yulanBtn").gameObject
|
|
self.storeBtn = self:GetChild("layout/btns_con/storeBtn").gameObject
|
|
self.takeBtn = self:GetChild("layout/btns_con/takeBtn").gameObject
|
|
self.splitBtn = self:GetChild("layout/btns_con/splitBtn").gameObject
|
|
self.shelvesUpBtn = self:GetChild("layout/btns_con/shelvesUpBtn").gameObject
|
|
self.shelvesDownBtn = self:GetChild("layout/btns_con/shelvesDownBtn").gameObject
|
|
self.decomposeBtn = self:GetChild("layout/btns_con/decomposeBtn").gameObject
|
|
self.oneKeyBuyBtn = self:GetChild("layout/btns_con/oneKeyBuyBtn").gameObject
|
|
self.replaceBtn = self:GetChild("layout/btns_con/replaceBtn").gameObject
|
|
self.dropBtn = self:GetChild("layout/btns_con/dropBtn").gameObject
|
|
self.marketBuyBtn = self:GetChild("layout/btns_con/market_buy_btn").gameObject
|
|
self.marketActionBtn = self:GetChild("layout/btns_con/market_auction_btn").gameObject
|
|
self.capsuleEggTakeBtn = self:GetChild("layout/btns_con/capsuleEggTakeBtn").gameObject
|
|
self.tmBatchUseBtn = self:GetChild("layout/btns_con/tm_batch_use").gameObject -- 藏宝图批量使用按钮
|
|
self.attrCon_trf = self:GetChild("layout/base_con/attrCon")
|
|
self.attrCon_obj = self:GetChild("layout/base_con/attrCon").gameObject
|
|
self.normalDecomposeBtn = self:GetChild("layout/btns_con/normalDecomposeBtn").gameObject
|
|
---新加的
|
|
local nodes = {
|
|
"layout/market_con:obj",
|
|
"layout/shop_con:obj",
|
|
"layout/base_con/bg:img",
|
|
"layout/get_way_con/get_way_bg:img",
|
|
"layout/base_con/content_scrollview:obj",
|
|
"layout/base_con/content_scrollview/Viewport/content_con",
|
|
"layout/left_extra_con:obj",
|
|
|
|
--外观类
|
|
"layout/nice_con/nice_designation_con/nice_designation_text:tmp",
|
|
"layout/nice_con/nice_roleCon:obj",
|
|
"layout/nice_con/nice_childCon:obj",
|
|
"layout/nice_con/nice_name_text:tmp",
|
|
"layout/nice_con/nice_designation_con:obj",
|
|
"layout/nice_con/nice_power_text:txt",
|
|
"layout/nice_con:obj",
|
|
"layout/nice_con/nice_designation_con/nice_designation_effect:obj",
|
|
"layout/nice_con/nice_designation_con/nice_designation_image:img:obj",
|
|
"layout/nice_con/nice_designation_con/nice_designation_raw:raw:obj",
|
|
"layout/nice_con/nice_bg:raw:obj",
|
|
"layout/nice_con/nice_headCon:obj",
|
|
"layout/nice_con/nice_figureBubbleCon:obj:img",
|
|
"layout/nice_con/nice_figureBubbleCon_desc:obj:tmp",
|
|
"layout/nice_con/nice_figureHeadCon:obj:img",
|
|
"layout/nice_con/wardrobe_text:tmp",
|
|
|
|
--幻光模型
|
|
"layout/base_con/daily_skill_con/daily_skill_bg:raw",
|
|
"layout/base_con/daily_skill_con:obj",
|
|
"layout/base_con/daily_skill_con/daily_skill_level:tmp",
|
|
"layout/base_con/daily_skill_con/daily_skill_desc:tmp",
|
|
"layout/base_con/daily_skill_con/daily_skill_name:tmp",
|
|
"layout/base_con/daily_skill_con/daily_skill_icon:img",
|
|
"layout/nice_con/daily_switch_btn:obj",
|
|
}
|
|
self:GetChildren(nodes)
|
|
self.btns_list = {self.shiyongBtn, self.hechengBtn, self.chushouBtn,
|
|
self.yulanBtn, self.storeBtn, self.takeBtn, self.splitBtn,
|
|
self.shelvesUpBtn, self.shelvesDownBtn,
|
|
self.oneKeyBuyBtn, self.decomposeBtn, self.replaceBtn,
|
|
self.dropBtn,self.marketBuyBtn, self.marketActionBtn,
|
|
self.capsuleEggTakeBtn, self.tmBatchUseBtn, self.normalDecomposeBtn}
|
|
lua_resM:setOutsideImageSprite(self,self.bg_img,GameResPath.GetViewBigBg("goods_tool_tip_bg"),false)
|
|
lua_resM:setOutsideImageSprite(self,self.get_way_bg_img,GameResPath.GetViewBigBg("goods_tool_tip_bg"),false)
|
|
self.icon_item = AwardItem.New(self.icon_con, false, self.layer_name)
|
|
self.icon_item:SetItemSize(62,62)
|
|
self.icon_item:ChangeCountVisible(false)
|
|
|
|
self:InitEvent()
|
|
end
|
|
|
|
function GoodsTooltips:InitEvent()
|
|
local function onClickBtnHandler(target)
|
|
if target == self.get_way_btn then
|
|
self.show_get_way = not self.show_get_way
|
|
self.getWayConObj:SetActive(self.show_get_way)
|
|
self:ShowShopItem()
|
|
return
|
|
elseif (self.goods_vo and (self.is_show_btn or CapsuleEggModel:getInstance():IsShowCapsuleEggTakeOutBtn() or self:ForeceTriggerEvt())) then
|
|
if target == self.shiyongBtn then
|
|
local callback = function(case)
|
|
if case == GoodsController.TryToUseGoodsResult.Case1 or GoodsController.TryToUseGoodsResult.Case2 then
|
|
self:Close()
|
|
end
|
|
end
|
|
GoodsModel:getInstance():Fire(GoodsModel.TRY_TO_USE_GOODS, self.goods_vo, callback)
|
|
|
|
elseif target == self.hechengBtn then
|
|
self:JumpComposeFunc()
|
|
elseif target == self.chushouBtn then
|
|
GlobalEventSystem:Fire(EventName.OPEN_SEll_VIEW, self.goods_vo)
|
|
elseif target == self.storeBtn then
|
|
GoodsModel:getInstance():Fire(GoodsModel.REQUEST_CCMD_EVENT, 15003, self.goods_vo.goods_id, GoodsModel.GOODS_POS_TYPE.bag, GoodsModel.GOODS_POS_TYPE.warehouse)
|
|
elseif target == self.takeBtn then
|
|
GoodsModel:getInstance():Fire(GoodsModel.REQUEST_CCMD_EVENT, 15003, self.goods_vo.goods_id, GoodsModel.GOODS_POS_TYPE.warehouse, GoodsModel.GOODS_POS_TYPE.bag)
|
|
elseif target == self.splitBtn then
|
|
BagModel:getInstance():Fire(BagModel.OPEN_BATHANDLE_VIEW, self.goods_vo, SplitView.TYPE.SPLIT)
|
|
elseif target == self.yulanBtn then
|
|
if self.goods_vo.type == GoodsModel.TYPE.FASHION then --时装
|
|
GlobalEventSystem:Fire(EventName.OPEN_FASHION_VIEW, self.goods_vo.subtype, self.goods_vo.type_id)
|
|
elseif self.goods_vo.type == 32 or self.goods_vo.type == 34 then --礼包
|
|
GoodsModel:getInstance():Fire(GoodsModel.REQUEST_CCMD_EVENT, 15087,self.goods_vo.type_id)
|
|
end
|
|
elseif target == self.shelvesUpBtn then
|
|
if not GetModuleIsOpen(155) then
|
|
Message.show(string.format("%d级开启市场", GetModuleOpenLevel(155)))
|
|
else
|
|
GlobalEventSystem:Fire(EventName.OPEN_MARKET_VIEW, MarketConst.TabId.SalesHall, nil, self.goods_vo)
|
|
end
|
|
elseif target == self.shelvesDownBtn then
|
|
MarketModel:GetInstance():Fire(MarketModel.REQUEST_CCMD_EVENT,15508,self.goods_vo.id)
|
|
elseif target == self.oneKeyBuyBtn then
|
|
|
|
elseif target == self.decomposeBtn then
|
|
BagModel:getInstance():Fire(BagModel.OPEN_EQUIP_DECOMPOSE_VIEW, self.goods_vo)
|
|
elseif target == self.dropBtn then
|
|
if self.goods_vo.goods_num == 1 then
|
|
local function ok()
|
|
GoodsModel:getInstance():Fire(GoodsModel.REQUEST_CCMD_EVENT,15051, 0 , {[1] ={ goods_id = self.goods_vo.goods_id, type_id = self.goods_vo.type_id, num = self.goods_vo.goods_num} })
|
|
end
|
|
Alert.show("是否丢弃 <color=" .. ColorUtil.RED_DARK .. ">" .. self.goods_vo.goods_name .. "</color> ?", Alert.Type.Two,ok)
|
|
else
|
|
BagModel:getInstance():Fire(BagModel.OPEN_BATHANDLE_VIEW, self.goods_vo, SplitView.TYPE.BAT_DROP)
|
|
end
|
|
elseif target == self.replaceBtn then
|
|
if self.goods_vo then
|
|
local has_vo, main, sub = HorseModel:getInstance():CheckVoIsOnMaterialTab(self.goods_vo)
|
|
if has_vo then
|
|
local typ = (self.parm_list and self.parm_list.material_type and self.parm_list.material_type ~= 0) and self.parm_list.material_type or main
|
|
local pos = (self.parm_list and self.parm_list.material_pos and self.parm_list.material_pos ~= 0) and self.parm_list.material_pos or sub
|
|
HorseModel:getInstance():Fire(HorsePetEvent.SELECT_MATERIAL_VIEW, typ, true, pos)
|
|
self:Close()
|
|
return
|
|
end
|
|
end
|
|
elseif target == self.market_buy_btn_obj then
|
|
MarketModel:GetInstance():Fire(MarketModel.OPEN_MARKET_BUY_VIEW, self.goods_vo, MarketModel.ONE_PRICE_TYPE)
|
|
elseif target == self.market_auction_btn_obj then
|
|
MarketModel:GetInstance():Fire(MarketModel.OPEN_MARKET_BUY_VIEW, self.goods_vo, MarketModel.AUCTION_PRICE_TYPE)
|
|
elseif target == self.guild_btn_obj then--上架到社团
|
|
if self.up_market_range == 1 then
|
|
Message.show("该商品只能上架到世界拍卖哦~")
|
|
self.no_close = true
|
|
else
|
|
local data = self.goods_vo
|
|
local is_to_world = self.market_toggle_tog.isOn and 1 or 0
|
|
MarketModel:GetInstance():Fire(MarketModel.REQUEST_CCMD_EVENT,15506,data.goods_id,data.type_id, self.market_count,MarketModel.AUCTION_GUILD_TYPE, is_to_world)
|
|
end
|
|
elseif target == self.world_btn_obj then--上架到世界
|
|
if self.up_market_range == 2 then
|
|
Message.show("该商品只能上架到社团拍卖哦~")
|
|
self.no_close = true
|
|
else
|
|
local data = self.goods_vo
|
|
MarketModel:GetInstance():Fire(MarketModel.REQUEST_CCMD_EVENT,15506,data.goods_id,data.type_id, self.market_count,MarketModel.AUCTION_WORLD_TYPE, 1)
|
|
end
|
|
elseif target == self.marketBuyBtn then
|
|
MarketModel:GetInstance():Fire(MarketModel.OPEN_MARKET_BUY_VIEW, self.goods_vo, MarketModel.ONE_PRICE_TYPE)
|
|
elseif target == self.marketActionBtn then
|
|
MarketModel:GetInstance():Fire(MarketModel.OPEN_MARKET_BUY_VIEW, self.goods_vo, MarketModel.AUCTION_PRICE_TYPE)
|
|
elseif target == self.capsuleEggTakeBtn then --龙神宝库临时仓库取出按钮
|
|
local now_warehouse_selected_goods_id = CapsuleEggModel:getInstance():GetWarehouseNowSelectedGoodsId()
|
|
CapsuleEggModel:getInstance():Fire(CapsuleEggConst.REQUEST_CCMD_EVENT,17008,now_warehouse_selected_goods_id)
|
|
CapsuleEggModel:getInstance():ResetWarehouseNowSelectedGoodsId()
|
|
elseif target == self.tmBatchUseBtn then -- 藏宝图批量使用
|
|
GlobalEventSystem:Fire(EventName.OPEN_TREASUREMAP_BATCH_USE_VIEW, true)
|
|
elseif target == self.daily_switch_btn_obj then -- 幻光模型切换状态
|
|
|
|
elseif target == self.normalDecomposeBtn then --批量分解按钮
|
|
if self.goods_vo.goods_num == 1 then
|
|
local function ok()
|
|
local decompose_goods_list = {}
|
|
decompose_goods_list[1] = {
|
|
goods_id = self.goods_vo.goods_id,
|
|
type_id = self.goods_vo.type_id,
|
|
goods_num = 1,
|
|
}
|
|
GoodsModel:getInstance():Fire(GoodsModel.REQUEST_CCMD_EVENT,15019,decompose_goods_list)
|
|
end
|
|
local goods_name = GoodsModel:getInstance():getGoodsName(self.goods_vo.type_id,true)
|
|
Alert.show("是否分解 <color=" .. ColorUtil.RED_DARK .. ">" .. goods_name .. "</color> ?", Alert.Type.Two,ok)
|
|
else
|
|
BagModel:getInstance():Fire(BagModel.OPEN_BATHANDLE_VIEW, self.goods_vo, SplitView.TYPE.BAT_DECOMPOSE)
|
|
end
|
|
end
|
|
if self.no_close then--不要点了就关
|
|
self.no_close = false
|
|
else
|
|
self:Close()
|
|
end
|
|
end
|
|
end
|
|
AddClickEvent(self.shiyongBtn, onClickBtnHandler)
|
|
AddClickEvent(self.hechengBtn, onClickBtnHandler)
|
|
AddClickEvent(self.chushouBtn, onClickBtnHandler)
|
|
AddClickEvent(self.storeBtn, onClickBtnHandler)
|
|
AddClickEvent(self.takeBtn, onClickBtnHandler)
|
|
AddClickEvent(self.splitBtn, onClickBtnHandler)
|
|
AddClickEvent(self.yulanBtn, onClickBtnHandler)
|
|
AddClickEvent(self.shelvesUpBtn, onClickBtnHandler)
|
|
AddClickEvent(self.shelvesDownBtn, onClickBtnHandler)
|
|
AddClickEvent(self.oneKeyBuyBtn, onClickBtnHandler)
|
|
AddClickEvent(self.decomposeBtn, onClickBtnHandler)
|
|
AddClickEvent(self.replaceBtn, onClickBtnHandler)
|
|
AddClickEvent(self.dropBtn, onClickBtnHandler)
|
|
-- AddClickEvent(self.world_btn_obj, onClickBtnHandler)
|
|
-- AddClickEvent(self.guild_btn_obj, onClickBtnHandler)
|
|
AddClickEvent(self.marketBuyBtn, onClickBtnHandler)
|
|
AddClickEvent(self.marketActionBtn, onClickBtnHandler)
|
|
AddClickEvent(self.capsuleEggTakeBtn,onClickBtnHandler)
|
|
AddClickEvent(self.tmBatchUseBtn,onClickBtnHandler)
|
|
AddClickEvent(self.get_way_btn,onClickBtnHandler)
|
|
AddClickEvent(self.normalDecomposeBtn,onClickBtnHandler)
|
|
AddClickEvent(self.daily_switch_btn_obj,onClickBtnHandler)
|
|
|
|
local function update_func()
|
|
self:SetData()
|
|
end
|
|
self.update_event = GlobalEventSystem:Bind(EventName.UPDATE_GOODS_TIPS, update_func)
|
|
|
|
self.event_odc = GlobalEventSystem:Bind(EventName.ORIENTATION_DID_CHANGE, function ()
|
|
self:AdjustLayoutPos()
|
|
end)
|
|
|
|
local function on_close( )
|
|
self:Close()
|
|
end
|
|
self:BindEvent(self.shop_model,ShopModel.CLOSE_SHOP_BUY_VIEW, on_close)
|
|
self:BindEvent(self.market_model,MarketModel.CLOSE_MARKET_UP_SHELVES_VIEW, on_close)
|
|
|
|
local onUpdate = function (id)
|
|
if id == KfActivityModel.TabID.LimitShop then
|
|
if self.show_left_extra_view then
|
|
self:UpdateLimitShop()
|
|
end
|
|
end
|
|
end
|
|
self:BindEvent(KfActivityModel:getInstance(), KfActivityModel.ANS_UPDATE_VIEW, onUpdate)
|
|
end
|
|
|
|
function GoodsTooltips:GetEnlargNum(num)
|
|
local info = GoodsModel:getInstance().slot_info_pos_2
|
|
local slot_num = info.slot_num or 0 --开放格子
|
|
local def_num = info.def_cell or 0 --默认开放格子数
|
|
local all_slot = info.all_slot or 0 --总共格子
|
|
local left_num = all_slot - slot_num
|
|
local isOpenedNum = slot_num - def_num + 1
|
|
local isOpenNum = isOpenedNum
|
|
local own_num = num
|
|
while(own_num > 0) do
|
|
own_num = own_num - self:GetEnlargeCost(isOpenNum)
|
|
if own_num >= 0 then
|
|
isOpenNum = isOpenNum + 1
|
|
end
|
|
if isOpenNum > left_num then
|
|
break
|
|
end
|
|
end
|
|
isOpenNum = isOpenNum - isOpenedNum
|
|
return isOpenNum
|
|
end
|
|
|
|
function GoodsTooltips:GetEnlargeCost(open_index)
|
|
local num = 0
|
|
for k, v in pairs(Config.Expandbagcosts) do
|
|
if GoodsModel.GOODS_POS_TYPE.bag == v.bag_type and v.min_cell <= open_index and v.max_cell >= open_index then
|
|
local list = ErlangParser:GetInstance():Parse(v.cost_goods_list)
|
|
if list then
|
|
num = list[1][3]
|
|
break
|
|
end
|
|
end
|
|
end
|
|
return num
|
|
end
|
|
|
|
--合成按钮跳转
|
|
function GoodsTooltips:JumpComposeFunc()
|
|
ComposeModel.Instance:TryComposeJump(self.goods_vo.type_id)
|
|
end
|
|
|
|
--goods_vo通过这个vo来判断是否是背包中存在的物品,
|
|
-- parm_list 有什么其他参数 可以添加进这个table中 自己定义想要的字段
|
|
--not_show_getway 获得途径的按钮以及内容是否显示
|
|
--open_show_get_way 有些需求需要开界面就显示获得途径
|
|
--force_open_show_get_way 强制必须打开获取途径界面
|
|
function GoodsTooltips:Open(type_id, x, y, goods_vo, show_btn_list, parm_list, not_show_getway,open_show_get_way,force_open_show_get_way)
|
|
print('---- GoodsTooltips.lua 659-- type_id=',type_id)
|
|
self.type_id = type_id
|
|
self.is_show_btn = goods_vo ~= nil
|
|
self.show_btn_list = show_btn_list
|
|
self.parm_list = parm_list
|
|
self.not_show_getway = not_show_getway
|
|
self.open_show_get_way = open_show_get_way
|
|
self.force_open_show_get_way = force_open_show_get_way
|
|
self.shop_data = parm_list and parm_list.shop_data or nil
|
|
self.market_data = parm_list and parm_list.market_data or nil
|
|
self.show_limit_shop = parm_list and parm_list.show_limit_shop or nil
|
|
self.foster_recharge_show = parm_list and parm_list.foster_recharge_show or nil
|
|
self.goods_vo = goods_vo or GoodsModel:getInstance():GetGoodsBasicByTypeId(type_id)
|
|
|
|
self.pos_x = x
|
|
self.pos_y = y
|
|
BaseView.Open(self)
|
|
end
|
|
|
|
function GoodsTooltips:SetData()
|
|
if self.goods_vo == nil then return end
|
|
self.layout.gameObject:SetActive(true)
|
|
if self.shop_data and self.shop_data.is_empower_shop then
|
|
self.icon_item:ChangeCountVisible(true)
|
|
self.icon_item:SetData(self.goods_vo.type_id, self.shop_data.num)
|
|
else
|
|
self.icon_item:ChangeCountVisible(false)
|
|
self.icon_item:SetData(self.goods_vo.type_id)
|
|
end
|
|
--双属性宝石
|
|
if self.goods_vo.type == 14 and (self.goods_vo.subtype == 9 or self.goods_vo.subtype == 10) then
|
|
self.icon_item:SetDataDoubleStone(self.goods_vo.goods_id)
|
|
end
|
|
local basic = GoodsModel:getInstance():GetGoodsBasicByTypeId(self.goods_vo.type_id)
|
|
self.basic = basic
|
|
local goods_name = self.basic.goods_name
|
|
|
|
print(">>物品信息 name =", basic.goods_name, " goods_id=", self.goods_vo.goods_id, " type_id=", self.goods_vo.type_id, " type=", basic.type," subtype=", basic.subtype)
|
|
|
|
if self.goods_vo.type == 11 then
|
|
if self.goods_vo.subtype == 11 then --装备鉴定物碎片
|
|
local type_id, name, icon = EquipModel:getInstance():GetIdentifyGoodsNameAndIcon(self.goods_vo.type_id, self.mainVo.career, self.goods_vo.color)
|
|
goods_name = name
|
|
end
|
|
end
|
|
|
|
|
|
self.is_facion_goods = self.model:IsShowFashionTypeGoodsTip(self.basic)
|
|
|
|
self:UpdateFactionCon()
|
|
|
|
if self.goods_vo.type == 51 then
|
|
if ClientConfig.vip_gift_data then
|
|
local table = StrToTable(ClientConfig.vip_gift_data)
|
|
if table then
|
|
for _,v in pairs(table) do
|
|
if tonumber(v.goods_id) == self.goods_vo.type_id then
|
|
goods_name = v.goods_name
|
|
break
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
self.countText.text = "类型:" .. HtmlColorTxt( WordManager:GetGoodsTypeStr(self.basic.type, self.basic.subtype) , "#ffffff")
|
|
self.levelText.text = "等级:".. (basic.level == 0 and "不限" or basic.level)
|
|
self.nameText.text = Language.substitute("<color={0}>{1}</color>", WordManager.GetGoodsColor(self.goods_vo.color or basic.color), Trim(goods_name))
|
|
self:UpdateLimitTime()
|
|
self:UpdateConvertTime()--运营活动道具过期自动转化
|
|
self.attrCon_obj:SetActive(false)
|
|
self.getwayUrlText.text = basic.getway
|
|
for i,v in ipairs(self.get_way_item_list) do
|
|
v:SetVisible(false)
|
|
end
|
|
|
|
if self.show_limit_shop then
|
|
self:UpdateLimitShop()
|
|
end
|
|
|
|
if self.market_data then
|
|
self.market_con_obj:SetActive(true)
|
|
-- self.btn_con_obj:SetActive(false)
|
|
self:UpdateMarketView()
|
|
else
|
|
self.market_con_obj:SetActive(false)
|
|
end
|
|
|
|
if self.foster_recharge_show then
|
|
self:UpdateFosterRechargeShow()
|
|
end
|
|
|
|
local function callback()
|
|
--某些界面跳转时要关掉界面,比如改名界面
|
|
GlobalEventSystem:Fire(EventName.OPEN_RENAME_VIEW,false,true) --强制关闭改名界面
|
|
NewMainRoleModel:getInstance():Fire(NewMainRoleModel.OPEN_HATRED_VIEW,true) --强制关闭罪恶值界面
|
|
FosterModel:GetInstance():Fire(FosterConst.CloseSkillTips) --强制关闭进阶技能培养界面
|
|
GlobalEventSystem:Fire(EventName.CLICK_GET_WAY_ITEM)--加个通用的的
|
|
|
|
self:Close()
|
|
end
|
|
-------------------------
|
|
self.show_get_way = self.open_show_get_way and true or false
|
|
self.getWayConObj:SetActive(self.show_get_way)
|
|
if self.parm_list and self.parm_list.not_show_goods then
|
|
self.base_con_obj:SetActive(false)
|
|
self.getWayConObj:SetActive(true)
|
|
end
|
|
-------------------------
|
|
-- basic.getway_url = [[ [{153,1},{153,3},{157,0}] ]]
|
|
if self.open_show_get_way or (basic.getway_url and Trim(basic.getway_url) ~= "[]" and not self.not_show_getway or (self.parm_list and self.parm_list.get_way)) then
|
|
self.get_way_btn:SetActive(true)
|
|
local getway = {}
|
|
if self.parm_list and self.parm_list.get_way then
|
|
getway = self.parm_list.get_way
|
|
else
|
|
getway = ErlangParser:GetInstance():Parse( basic.getway_url)
|
|
end
|
|
for i,v in ipairs(getway) do
|
|
local item = self.get_way_item_list[i]
|
|
if not item then
|
|
item = GetGoodsItem.New(self.getWayCon)
|
|
self.get_way_item_list[i] = item
|
|
item:SetPosition(0, -91 * (i - 1))
|
|
end
|
|
item:SetVisible(true)
|
|
item:SetData(v, basic.type_id, callback)
|
|
end
|
|
SetSizeDeltaY(self.getWayCon, #getway * 100)
|
|
if #getway == 0 then
|
|
self.getWayConObj:SetActive(false)
|
|
self.get_way_btn:SetActive(false)
|
|
self.show_get_way = false
|
|
--如果只有1个,并且显示为 [{}] 说明是显示 运营活动 就默认不展开了
|
|
elseif #getway == 1 and Trim(basic.getway_url) == "[{}]" and not self.force_open_show_get_way then
|
|
self.getWayConObj:SetActive(false)
|
|
self.show_get_way = false
|
|
end
|
|
else
|
|
self.get_way_btn:SetActive(false)
|
|
self.getWayConObj:SetActive(false)
|
|
end
|
|
-------------------------
|
|
if self.shop_data then
|
|
self:ShowShopItem()--用到了self.show_get_way 参数,代码位置请不要随意移动
|
|
self:UpdateShopView()
|
|
else
|
|
self.shop_con_obj:SetActive(false)
|
|
end
|
|
|
|
|
|
for i, v in pairs(self.btns_list) do
|
|
v:SetActive(false)
|
|
end
|
|
|
|
local btns_list = {}
|
|
if self.model:IsShowPreviewBtn(self.type_id) then
|
|
table.insert(btns_list, self.yulanBtn)
|
|
self.yulanBtn:SetActive(true)
|
|
else
|
|
self.yulanBtn:SetActive(false)
|
|
end
|
|
|
|
if self.is_show_btn then
|
|
|
|
if self.basic and self.basic.drop == 1 then
|
|
table.insert(btns_list, self.dropBtn)
|
|
end
|
|
|
|
if self.basic.jump > 0 then--and self.mainVo.level >= self.basic.level then
|
|
table.insert(btns_list, self.jumpBtn)
|
|
end
|
|
if self.basic.compose > 0 then
|
|
table.insert(btns_list, self.hechengBtn)
|
|
end
|
|
if self.goods_vo.goods_num > 1 then
|
|
table.insert(btns_list, self.splitBtn)
|
|
end
|
|
|
|
if self.basic.sell > 0 then
|
|
table.insert(btns_list, self.chushouBtn)
|
|
end
|
|
|
|
if MarketModel:GetInstance():IsGoodsCanUpShelves(self.goods_vo) then--在背包中的 如果可以上架要显示上架按钮
|
|
table.insert(btns_list, self.shelvesUpBtn)
|
|
end
|
|
|
|
if (self.basic.use > 0 or Trim(self.basic.use_way) ~= "") and self.mainVo.level >= self.basic.level then
|
|
local limit_state = BagModel:getInstance():GetGoodsLimitState(self.goods_vo)--过期了就不要有使用按钮了
|
|
if limit_state ~= BagModel.GoodsLimitState.TimeOut then
|
|
table.insert(btns_list, self.shiyongBtn)
|
|
end
|
|
end
|
|
if self.goods_vo.pos == GoodsModel.GOODS_POS_TYPE.clothing_factory_bag then
|
|
table.insert(btns_list, self.normalDecomposeBtn)
|
|
end
|
|
|
|
end
|
|
|
|
local hide_yulan_btn = false
|
|
if GoodsModel:getInstance().show_warehouse == true and self.goods_vo.pos == GoodsModel.GOODS_POS_TYPE.bag then
|
|
hide_yulan_btn = true
|
|
btns_list = {self.storeBtn}
|
|
-- table.insert(btns_list,self.storeBtn)
|
|
elseif self.goods_vo.pos == GoodsModel.GOODS_POS_TYPE.warehouse then
|
|
hide_yulan_btn = true
|
|
btns_list = {self.takeBtn}
|
|
elseif self.goods_vo.pos == GoodsModel.GOODS_POS_TYPE.hunt_store then
|
|
hide_yulan_btn = true
|
|
btns_list = {self.takeBtn}
|
|
-- elseif self.goods_vo.pos == GoodsModel.GOODS_POS_TYPE.clothing_factory_bag then
|
|
-- hide_yulan_btn = true
|
|
-- btns_list = {self.normalDecomposeBtn}
|
|
end
|
|
if hide_yulan_btn then
|
|
self.yulanBtn:SetActive(false)
|
|
end
|
|
|
|
if CapsuleEggModel:getInstance():IsShowCapsuleEggTakeOutBtn() then--龙神宝库扭蛋临时仓库显示取出按钮
|
|
btns_list = {self.capsuleEggTakeBtn}
|
|
end
|
|
|
|
if self.goods_vo.type_id == TreasureMapConst.GoodId[1] then -- 普通藏宝图批量使用按钮
|
|
if TreasureMapModel:getInstance():CanBatchUseNormalTreasureMap() then
|
|
table.insert(btns_list, self.tmBatchUseBtn)
|
|
end
|
|
end
|
|
|
|
--自定义显示的按钮
|
|
local force_show_btn_con = false
|
|
if self.show_btn_list then
|
|
btns_list, force_show_btn_con = self:ShowCustomBtns()
|
|
end
|
|
|
|
local btns_len = #btns_list
|
|
self.btns_con.gameObject:SetActive((btns_len>0 or force_show_btn_con) and not self.market_data and not self.shop_data)
|
|
local local_index = 0
|
|
local local_offset_h = 41
|
|
for k, v in ipairs(btns_list) do
|
|
local b = self.is_show_btn
|
|
or CapsuleEggModel:getInstance():IsShowCapsuleEggTakeOutBtn()--龙神宝库仓库需要显示按钮
|
|
v:SetActive(b)
|
|
if b then
|
|
print(v)
|
|
SetAnchoredPosition(v.transform, 2, local_index * local_offset_h - 406)
|
|
local_index = local_index + 1
|
|
end
|
|
end
|
|
|
|
if not hide_yulan_btn then
|
|
if self.goods_vo.type == 32 or self.goods_vo.type == 34 then
|
|
self.yulanBtn:SetActive(true)
|
|
end
|
|
end
|
|
|
|
self:SetTextData()
|
|
self:AdjustLayoutPos()
|
|
end
|
|
|
|
function GoodsTooltips:AdjustLayoutPos()
|
|
-- if self.pos_x and self.pos_y then
|
|
--自定义显示的按钮
|
|
-- local buy_pos_x, buy_pos_y = 0, 0
|
|
-- if self.show_btn_list then
|
|
-- -- btns_list = self:ShowCustomBtns()
|
|
-- if TableContains(self.show_btn_list, "buyCon") then
|
|
-- buy_pos_x = 100
|
|
-- buy_pos_y = 100
|
|
-- end
|
|
-- end
|
|
|
|
-- local layout_width = self.bg.sizeDelta.x + self.btns_con.sizeDelta.x
|
|
-- local layout_height = self.bg.sizeDelta.y
|
|
-- local x, y = ScreenToViewportPoint(self.pos_x, self.pos_y)
|
|
|
|
-- local iphone_x_offset = math.max(ClientConfig.iphone_x_offset_left, ClientConfig.iphone_x_offset_right)
|
|
-- if x + layout_width + 50 + iphone_x_offset * 2 > SrcScreenWidth then
|
|
-- x = SrcScreenWidth - layout_width - 90 - iphone_x_offset * 2
|
|
-- end
|
|
-- if y < layout_height + 50 then
|
|
-- y = layout_height + 50
|
|
-- end
|
|
|
|
|
|
-- self.layout.anchoredPosition = Vector2(x, y)
|
|
-- end
|
|
end
|
|
|
|
function GoodsTooltips:ShowCustomBtns()
|
|
local temp_list = {}
|
|
local force_show_btn_con = false
|
|
for _, v in pairs(self.btns_list) do
|
|
v:SetActive(false)
|
|
end
|
|
|
|
for _, v in pairs(self.show_btn_list) do
|
|
if self[v] then
|
|
table.insert(temp_list, self[v])
|
|
end
|
|
end
|
|
|
|
return temp_list,force_show_btn_con
|
|
end
|
|
|
|
function GoodsTooltips:ChangeBuyNum(num)
|
|
self.buyNum = num
|
|
end
|
|
|
|
-- 一些特殊物品需要请求动态信息
|
|
function GoodsTooltips:IsNeedDynamic()
|
|
if not self.is_show_btn then return false end
|
|
return self.type_id == 1011000006
|
|
end
|
|
|
|
function GoodsTooltips:ForeceTriggerEvt()
|
|
if not self.goods_vo then
|
|
return false
|
|
end
|
|
if self.goods_vo.type == 32 or self.goods_vo.type == 34 then
|
|
return true
|
|
end
|
|
end
|
|
|
|
-- 属性信息
|
|
function GoodsTooltips:SetTextData()
|
|
|
|
if not self.text_item_list[1] then
|
|
self.text_item_list[1] = GoodsTooltipsTextItem.New(self.content_con)
|
|
self.text_item_list[1]:SetColor("F3FCFF" )
|
|
end
|
|
if not self.text_item_list[2] then
|
|
self.text_item_list[2] = GoodsTooltipsTextItem.New(self.content_con)
|
|
self.text_item_list[2]:SetColor("9EB3CF")
|
|
end
|
|
local is_paid_gift = self.model:IsPaidGift(self.type_id)
|
|
local goods_list = nil
|
|
|
|
local intro = ChuanWenManager:getInstance():FormatColorTag(Trim(self.basic.intro))
|
|
local attr_intor = ChuanWenManager:getInstance():FormatColorTag(Trim(self.basic.attr_intor))
|
|
local str = intro
|
|
if is_paid_gift then
|
|
local reward_list = GiftModel:getInstance():getRewardConfig(self.type_id)
|
|
goods_list = reward_list.fixed_list
|
|
for i,v in ipairs(goods_list) do
|
|
local goods_name = GoodsModel:getInstance():getGoodsName(v.goods_id, true)
|
|
str = str.."\n"..goods_name.." x"..v.goods_count
|
|
end
|
|
end
|
|
self.text_item_list[1]:SetData("基础信息", str, goods_list, is_paid_gift)
|
|
self.text_item_list[2]:SetData("物品说明", attr_intor,nil, is_paid_gift)
|
|
end
|
|
|
|
function GoodsTooltips:UpdateMarketView( )
|
|
if not self.market_view then
|
|
self.market_view = MarketUpShelvesView.New(self.market_con)
|
|
end
|
|
self.market_view:SetData(self.market_data)
|
|
self.market_view:SetPosition(2,-69)
|
|
end
|
|
|
|
function GoodsTooltips:UpdateShopView( )
|
|
if not self.shop_view then
|
|
self.shop_view = ShopBuySubView.New(self.shop_con,nil,self.layer_name)
|
|
end
|
|
self.shop_view:SetData(self.shop_data)
|
|
self.shop_view:SetPosition(2,-69)
|
|
end
|
|
|
|
function GoodsTooltips:Remove()
|
|
if self.icon_item then
|
|
self.icon_item:DeleteMe()
|
|
self.icon_item = nil
|
|
end
|
|
|
|
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
|
|
|
|
for i, v in pairs(self.get_way_item_list) do
|
|
v:DeleteMe()
|
|
v = nil
|
|
end
|
|
self.get_way_item_list = {}
|
|
|
|
if self.update_event then
|
|
GlobalEventSystem:UnBind(self.update_event)
|
|
self.update_event = nil
|
|
end
|
|
if self.event_odc then
|
|
GlobalEventSystem:UnBind(self.event_odc)
|
|
self.event_odc = nil
|
|
end
|
|
|
|
if #self.attr_item_list > 0 then
|
|
for k, v in pairs(self.attr_item_list) do
|
|
v:DeleteMe()
|
|
v = nil
|
|
end
|
|
self.attr_item_list = {}
|
|
end
|
|
|
|
if #self.text_item_list > 0 then
|
|
for k, v in pairs(self.text_item_list) do
|
|
v:DeleteMe()
|
|
v = nil
|
|
end
|
|
self.text_item_list = {}
|
|
end
|
|
|
|
if self.change_jin_id then
|
|
self.mainVo:UnBind(self.change_jin_id)
|
|
self.change_jin_id = nil
|
|
end
|
|
if self.change_lockJin_id then
|
|
self.mainVo:UnBind(self.change_lockJin_id)
|
|
self.change_lockJin_id = nil
|
|
end
|
|
if self.change_silver_id then
|
|
self.mainVo:UnBind(self.change_silver_id)
|
|
self.change_silver_id = nil
|
|
end
|
|
if self.score_change_event_id then
|
|
GoodsModel:getInstance():UnBind(self.score_change_event_id)
|
|
self.score_change_event_id = nil
|
|
end
|
|
if self.market_view then
|
|
self.market_view:DeleteMe()
|
|
self.market_view = nil
|
|
end
|
|
if self.shop_view then
|
|
self.shop_view:DeleteMe()
|
|
self.shop_view = nil
|
|
end
|
|
lua_resM:clearRoleMode(self)
|
|
self:StopLimitTimer()
|
|
|
|
if self.sound_id then
|
|
lua_soundM:StopEffect(self, LuaSoundManager.SOUND_TYPE.GUIDE, self.sound_id)
|
|
self.sound_id = nil
|
|
end
|
|
end
|
|
|
|
function GoodsTooltips:UpdateLimitTime()
|
|
self:StopLimitTimer()
|
|
self.getwayUrlText_obj:SetActive(true)
|
|
if (not self.goods_vo.expire_time or self.goods_vo.expire_time == 0) and (not self.parm_list or not self.parm_list.expire_time) and (not self.parm_list or not self.parm_list.force_show_limit) then
|
|
self.overdueText.text = ""
|
|
self.overdue:SetActive(false)
|
|
self.icon_item:ShowLimitIcon(false)
|
|
self.overdue_bg_obj:SetActive(false)
|
|
self.getwayUrlText_obj:SetActive(true)
|
|
else
|
|
--强制显示限时状态
|
|
if self.parm_list and self.parm_list.force_show_limit then
|
|
self.icon_item:ShowLimitIcon(true,1)
|
|
self.overdue_bg_obj:SetActive(true)
|
|
self.getwayUrlText_obj:SetActive(false)
|
|
lua_resM:setImageSprite(self, self.overdue_bg, "uiComponent_asset", "ui_com_time_1", true)
|
|
self:SetLimitText("<color=" .. ColorUtil.GOLD_DARK .. ">物品会在一段时间后过期</color>")
|
|
return
|
|
end
|
|
--没有获得的道具,特殊处理
|
|
if (self.goods_vo.goods_id == 0 or self.goods_vo.goods_id == nil) and not (self.parm_list and self.parm_list.expire_time) then
|
|
self.icon_item:ShowLimitIcon(true,1)
|
|
self.overdue_bg_obj:SetActive(true)
|
|
self.getwayUrlText_obj:SetActive(false)
|
|
|
|
if self.basic.expire_type == 1 or self.basic.expire_type == 5 then
|
|
local time = self.basic.expire_time
|
|
lua_resM:setImageSprite(self, self.overdue_bg, "uiComponent_asset", "ui_com_time_1", true)
|
|
self:SetLimitText("<color=" .. ColorUtil.GREEN_DARK .. ">领取后 ".. TimeUtil:timeConvert15(time) .. " 后过期</color>")
|
|
else
|
|
local time = 0
|
|
--开服多少天后过期
|
|
if self.basic.expire_type == 3 then
|
|
time = ServerTimeModel:getInstance():GetOpenServerTime() + 3600 *24 * self.basic.expire_time
|
|
|
|
--合服多少天数后过期
|
|
elseif self.basic.expire_type == 4 then
|
|
time = ServerTimeModel:getInstance():GetMergeServerTime() + 3600 *24 * self.basic.expire_time
|
|
|
|
--特定时间到期
|
|
-- self.basic.expire_type == 2
|
|
else
|
|
time = self.basic.expire_time
|
|
end
|
|
lua_resM:setImageSprite(self, self.overdue_bg, "uiComponent_asset", "ui_com_time_2", true)
|
|
if time == 0 then
|
|
self:SetLimitText("<color=" .. ColorUtil.GOLD_DARK .. ">已过期</color>")
|
|
else
|
|
self:SetLimitText("<color=" .. ColorUtil.GOLD_DARK .. ">"..TimeUtil:timeConversion(time, "yyyy年mm月dd日 hh") .. " 过期</color>")
|
|
end
|
|
end
|
|
return
|
|
end
|
|
local expire_time = (self.parm_list and self.parm_list.expire_time) or (self.goods_vo and self.goods_vo.expire_time)
|
|
if expire_time then
|
|
local function timer_func()
|
|
self.overdue_bg_obj:SetActive(true)
|
|
self.getwayUrlText_obj:SetActive(false)
|
|
SetAnchoredPositionX( self.overdue_bg.transform, -28)
|
|
if self.basic.expire_type == 1 or self.basic.expire_type == 5 or (self.parm_list and self.parm_list.expire_type == "expire_type") then
|
|
local time = expire_time - TimeUtil:getServerTime()
|
|
if time <= 0 then
|
|
self.icon_item:ShowLimitIcon(true,2)
|
|
self.overdue_bg_obj:SetActive(false)
|
|
self.getwayUrlText_obj:SetActive(true)
|
|
self.overdueText.text = ""
|
|
self:StopLimitTimer()
|
|
GlobalEventSystem:Fire(EventName.UPDATE_BAG_TIMEOUT_GOODS, self.goods_vo.goods_id)
|
|
else
|
|
self.icon_item:ShowLimitIcon(true,1)
|
|
SetSizeDeltaY(self.content_scrollview, 254)
|
|
lua_resM:setImageSprite(self, self.overdue_bg, "uiComponent_asset", "ui_com_time_1", true)
|
|
if self.basic.expire_type == 1 then
|
|
self:SetLimitText("<color=" .. ColorUtil.GREEN_DARK .. ">".. TimeUtil:timeConvert15(time) .. " 后过期</color>")
|
|
else
|
|
self:SetLimitText("<color=" .. ColorUtil.GREEN_DARK .. ">".. TimeUtil:timeConvert15(time) .. " 过期</color>")
|
|
end
|
|
end
|
|
else
|
|
if TimeUtil:getServerTime() > expire_time then
|
|
self.icon_item:ShowLimitIcon(true,2)
|
|
self.overdue_bg_obj:SetActive(false)
|
|
self.getwayUrlText_obj:SetActive(true)
|
|
self.overdueText.text = ""
|
|
self:StopLimitTimer()
|
|
GlobalEventSystem:Fire(EventName.UPDATE_BAG_TIMEOUT_GOODS, self.goods_vo.goods_id)
|
|
else
|
|
lua_resM:setImageSprite(self, self.overdue_bg, "uiComponent_asset", "ui_com_time_2", true)
|
|
self.icon_item:ShowLimitIcon(true,1)
|
|
SetSizeDeltaY(self.content_scrollview, 254)
|
|
self:SetLimitText("<color=" .. ColorUtil.GOLD_DARK .. ">"..TimeUtil:timeConversion(expire_time, "yyyy年mm月dd日 hh") .. " 过期</color>")
|
|
end
|
|
end
|
|
end
|
|
if not self.limit_timer then
|
|
self.limit_timer = GlobalTimerQuest:AddPeriodQuest(timer_func, 1)
|
|
end
|
|
timer_func()
|
|
else
|
|
self.icon_item:ShowLimitIcon(false)
|
|
self.overdue:SetActive(false)
|
|
self.overdue_bg_obj:SetActive(false)
|
|
self.getwayUrlText_obj:SetActive(true)
|
|
self.overdueText.text = ""
|
|
end
|
|
end
|
|
end
|
|
|
|
--运营活动道具过期自动转化时间戳
|
|
function GoodsTooltips:UpdateConvertTime( )
|
|
if self.goods_vo.convert_time and self.goods_vo.convert_time ~= 0 then--没有转化时间
|
|
self.conversionTimeText.text = string.format("该物品将在以下期限后自动转化\n<size=16><%s>%s</color></size>",ColorUtil.GREEN_TIPS,TimeUtil:timeConversion(self.goods_vo.convert_time, "yyyy年mm月dd日 hh-MM"))
|
|
else
|
|
self.conversionTimeText.text = ""
|
|
end
|
|
end
|
|
|
|
function GoodsTooltips:StopLimitTimer()
|
|
if self.limit_timer then
|
|
GlobalTimerQuest:CancelQuest(self.limit_timer)
|
|
self.limit_timer = nil
|
|
end
|
|
end
|
|
|
|
function GoodsTooltips:SetLimitText(text)
|
|
self.overdueText.text = text
|
|
local width = self.overdueText.preferredWidth
|
|
SetAnchoredPositionX(self.overdue_bg.transform, -width/2 - 20)
|
|
end
|
|
|
|
--更新外观显示类部分
|
|
function GoodsTooltips:UpdateFactionCon()
|
|
self.power_show_num = false
|
|
local show_model_cfg = self.model:IsShowModelGoods(self.type_id)
|
|
if self.is_facion_goods or show_model_cfg then
|
|
self.attr_list = {}
|
|
self.nice_bg_obj:SetActive(true)
|
|
self.nice_con_obj:SetActive(true)
|
|
local basic = self.basic
|
|
self.nice_designation_con_obj:SetActive(false)
|
|
self.nice_roleCon_obj:SetActive(false)
|
|
self.nice_childCon_obj:SetActive(false)
|
|
self.nice_headCon_obj:SetActive(false)
|
|
self.nice_figureBubbleCon_obj:SetActive(false)
|
|
self.nice_figureBubbleCon_desc_obj:SetActive(false)
|
|
self.nice_figureHeadCon_obj:SetActive(false)
|
|
self.nice_designation_raw_obj:SetActive(false)
|
|
self.daily_skill_con_obj:SetActive(false)
|
|
self.daily_switch_btn_obj:SetActive(false)
|
|
lua_resM:setOutsideRawImage(self,self.nice_bg_raw,GameResPath.GetViewBigBg("goods_tool_tip_fashion_bg"))
|
|
local show_type = show_model_cfg and show_model_cfg.show_type or basic.type
|
|
print('Cat:GoodsTooltips.lua[873] basic.type', show_type)
|
|
local wardrobe_value = WardrobeModel:getInstance():GetWardrobeAppearanceValue(show_type, basic.subtype, basic.color)
|
|
if not wardrobe_value or wardrobe_value == 0 then
|
|
self.wardrobe_text_tmp.text = ""
|
|
else
|
|
self.wardrobe_text_tmp.text = string.format("风采值:%s", HtmlColorTxt(wardrobe_value, "#fafaf6"))
|
|
end
|
|
if self.dynamic_image_obj then
|
|
self.dynamic_image_obj:SetActive(false)
|
|
end
|
|
if show_type == GoodsModel.TYPE.DESIGNATION then
|
|
-- lua_resM:setOutsideRawImage(self,self.nice_bg_raw,GameResPath.GetViewBigBg("designation_tip_bg"))
|
|
local cfg = Config.Dsgt
|
|
local designation_id = DesignationModel:GetInstance():GetDesignationIdByGoodsId(self.type_id)
|
|
self.attr_list = stringtotable(cfg[designation_id].attr_list)
|
|
self.nice_designation_image_obj:SetActive(false)
|
|
self.nice_designation_effect_obj:SetActive(false)
|
|
self.nice_name_text_tmp.text = ""
|
|
cc.ActionManager:getInstance():removeAllActionsFromTarget(self.nice_designation_image)
|
|
if cfg[designation_id].type == 1 then--文字称号(文字称号也用图片了)
|
|
self.nice_designation_image_obj:SetActive(true)
|
|
local function callback( )
|
|
SetLocalScale(self.nice_designation_image, 1.5, 1.5, 1.5)
|
|
end
|
|
lua_resM:setOutsideImageSprite(self, self.nice_designation_image_img, GameResPath.GetDesignImage(cfg[designation_id].id), true,callback)
|
|
self.nice_designation_text_tmp.text = ""
|
|
elseif cfg[designation_id].type == 2 then--图片称号
|
|
self.nice_designation_image_obj:SetActive(true)
|
|
local function callback( )
|
|
SetLocalScale(self.nice_designation_image, 1.5, 1.5, 1.5)
|
|
end
|
|
lua_resM:setOutsideImageSprite(self, self.nice_designation_image_img, GameResPath.GetDesignImage(cfg[designation_id].id), true,callback)
|
|
self.nice_designation_text_tmp.text = ""
|
|
elseif cfg[designation_id].type == 3 then--特效称号
|
|
if not self.dynamic_image_obj then
|
|
self.dynamic_image_obj = UiFactory.createChild(self.nice_designation_image, UIType.Image, "dynamic_image")
|
|
self.dynamic_image_img = self.dynamic_image_obj:GetComponent("Image")
|
|
self.dynamic_image = self.dynamic_image_obj.transform
|
|
SetAnchoredPosition(self.dynamic_image,0,0)
|
|
else
|
|
self.dynamic_image_obj:SetActive(true)
|
|
end
|
|
self.nice_designation_image_obj:SetActive(true)
|
|
local data = DesignationModel:GetInstance():GetDynamicDesignationCFG(designation_id)
|
|
local res = Split(data[1].res,"_")--分割出来配置 然后取文字
|
|
local font_res = res[1] or ""
|
|
lua_resM:setImageSprite(self, self.dynamic_image_img, data[1].ab, font_res.."_font", true)
|
|
self.nice_designation_text_tmp.text = ""
|
|
self.nice_designation_image_obj:SetActive(true)
|
|
local action = cc.Animation.New(data,0.15)
|
|
cc.ActionManager:getInstance():addAction(cc.RepeatForever.New(action),self.nice_designation_image.transform)
|
|
end
|
|
self.nice_designation_con_obj:SetActive(true)
|
|
elseif show_type == GoodsModel.TYPE.CHILDTOY then
|
|
local child_type = ChildConst.GOODS_TPYE
|
|
if basic.subtype == child_type.TOY then -- 玩具 显示原画
|
|
-- lua_resM:setOutsideRawImage(self,self.nice_bg_raw,
|
|
-- GameResPath.GetViewBigBg("designation_tip_bg"))
|
|
self.nice_designation_con_obj:SetActive(true)
|
|
self.nice_designation_image_obj:SetActive(true)
|
|
local cfg = Config.Childtoynew[basic.type_id]
|
|
if cfg then
|
|
self.attr_list = stringtotable(cfg.attr_list)
|
|
end
|
|
lua_resM:setOutsideImageSprite(self, self.nice_designation_image_img, GameResPath.GetChildHandbookIcon(basic.type_id), true)
|
|
elseif basic.subtype == child_type.DRESS then -- 时装 显示模型
|
|
-- lua_resM:setOutsideRawImage(self,self.nice_bg_raw,GameResPath.GetViewBigBg("fashion_tip_bg"))
|
|
self.nice_childCon_obj:SetActive(true)
|
|
local chat_model = ChildModel:getInstance()
|
|
local fashion_id = chat_model:GetFashionIdByGoodsId(self.type_id)
|
|
local show_figure_id = chat_model:GetFashionModelID(fashion_id)
|
|
local res_data = {
|
|
father_node = self,
|
|
transform = self.nice_childCon,
|
|
fashion_type = FuncOpenModel.TypeId.Child,
|
|
figure_id = show_figure_id,
|
|
ui_model_type = UIModelCommon.ModelType.Model,
|
|
action_name_list = action_name_list,
|
|
position = Vector3(0, -15, 0),
|
|
}
|
|
FuncOpenModel:getInstance():SetModelRes(res_data)
|
|
-- 显示1级的战力
|
|
local cfg = Config.Childfashion[fashion_id .. "@1"]
|
|
if cfg then
|
|
self.attr_list = stringtotable(cfg.attr_list)
|
|
end
|
|
elseif basic.subtype == child_type.VEHICLE then -- 载具 显示模型
|
|
-- lua_resM:setOutsideRawImage(self,self.nice_bg_raw,GameResPath.GetViewBigBg("fashion_tip_bg"))
|
|
self.nice_childCon_obj:SetActive(true)
|
|
local child_model = ChildModel:getInstance()
|
|
local vehicle_id = child_model:GetVehicleIdByGoodsId(self.type_id)
|
|
local can_on_age = Config.Childvehicle[vehicle_id .. "@" .. 1].can_on_age
|
|
local cur_state = child_model:GetChildCurState()
|
|
local clothe_res_id = false
|
|
if can_on_age == ChildConst.BABY_STATE.YOUNG then
|
|
if cur_state < ChildConst.BABY_STATE.YOUNG then -- 还没会走路
|
|
clothe_res_id = child_model:GetBaseChildModelID( ChildConst.BABY_STATE.YOUNG,
|
|
child_model.childInfo.child_sex )
|
|
else -- 会走路就拿当前形象
|
|
clothe_res_id = child_model:GetChildCloth()
|
|
end
|
|
else -- 是爬或襁褓 则用默认形象
|
|
clothe_res_id = child_model:GetBaseChildModelID( can_on_age,
|
|
child_model.childInfo.child_sex or 1 )
|
|
end
|
|
local figure_id = child_model:GetVehicleModelID(vehicle_id)
|
|
local res_data = {
|
|
father_node = self,
|
|
transform = self.nice_childCon,
|
|
fashion_type = FuncOpenModel.TypeId.ChildInVehicle,
|
|
figure_id = figure_id,
|
|
ui_model_type = UIModelCommon.ModelType.Model,
|
|
action_name_list = {"idle"},
|
|
clothe_res_id = clothe_res_id,
|
|
position = {0,0,0}
|
|
}
|
|
FuncOpenModel:getInstance():SetModelRes(res_data)
|
|
|
|
-- 显示1级的战力
|
|
local cfg = Config.Childvehicle[vehicle_id .. "@1"]
|
|
if cfg then
|
|
self.attr_list = stringtotable(cfg.add_attr)
|
|
end
|
|
end
|
|
elseif show_type == GoodsModel.TYPE.FASHION or (show_type == GoodsModel.TYPE.FASHIONCHIP and basic.subtype == 1) then
|
|
--类型是FASHIONCHIP的话 需要额外判断子类型为1的才是时装 其他碎片不要配成子类型1
|
|
local fashion_id,color_id = FashionModel:getInstance():GetFashionIdByGoodsId(self.type_id)
|
|
-- lua_resM:setOutsideRawImage(self,self.nice_bg_raw,GameResPath.GetViewBigBg("fashion_tip_bg"))
|
|
local is_limit = FashionModel:GetInstance():IsFashionLimitTime(fashion_id,color_id)
|
|
self.nice_roleCon_obj:SetActive(true)
|
|
local cur_cfg = Config.Fashionstarup[fashion_id.."@"..color_id.."@0"]
|
|
if cur_cfg then
|
|
self.attr_list = stringtotable(cur_cfg.attr_list)
|
|
end
|
|
local career = RoleManager.Instance.mainRoleInfo.career
|
|
local fashion_type = FuncOpenModel.TypeId.Clothes
|
|
local figure_id = nil
|
|
if fashion_id then
|
|
if cur_cfg.pos_id == FashionModel.FashionType.HAT then--头饰
|
|
career = 0 --目前头饰 是通用的
|
|
figure_id = FashionModel:GetInstance():GetFashionModelId(fashion_id, career, color_id)
|
|
fashion_type = FuncOpenModel.TypeId.Hat
|
|
elseif cur_cfg.pos_id == FashionModel.FashionType.CLOTHES then--服饰
|
|
figure_id = FashionModel:GetInstance():GetFashionModelId(fashion_id, career, color_id)
|
|
if figure_id < 1000 then
|
|
figure_id = figure_id + career * 1000
|
|
end
|
|
if color_id > 1 then
|
|
figure_id = figure_id .. color_id
|
|
end
|
|
elseif cur_cfg.pos_id == FashionModel.FashionType.WING then--背饰
|
|
figure_id = FashionModel:GetInstance():GetFashionModelId(fashion_id, career, color_id)
|
|
fashion_type = FuncOpenModel.TypeId.wing
|
|
elseif cur_cfg.pos_id == FashionModel.FashionType.WEAPON then--武器
|
|
fashion_type = FuncOpenModel.TypeId.Weapon
|
|
figure_id = FashionModel:GetInstance():GetFashionModelId(fashion_id, career, color_id)
|
|
if figure_id < 1000 then
|
|
figure_id = figure_id + career * 1000
|
|
end
|
|
elseif cur_cfg.pos_id == FashionModel.FashionType.HEAD then--头发
|
|
fashion_type = FuncOpenModel.TypeId.Head
|
|
figure_id = FashionModel:GetInstance():GetFashionModelId(fashion_id, career, color_id)
|
|
if figure_id < 1000 then
|
|
figure_id = figure_id + career * 1000
|
|
end
|
|
if color_id > 1 then
|
|
figure_id = figure_id .. color_id
|
|
end
|
|
end
|
|
end
|
|
local res_data = {
|
|
father_node = self,
|
|
transform = self.nice_roleCon,
|
|
fashion_type = fashion_type,
|
|
layer_name = self.layer_name,
|
|
size = Vector2(720,720),
|
|
scale = 150,
|
|
figure_id = figure_id,
|
|
ui_model_type = UIModelCommon.ModelType.Model,
|
|
position = Vector3(0,0,0)
|
|
}
|
|
FuncOpenModel:getInstance():SetModelRes(res_data)
|
|
elseif show_type == GoodsModel.TYPE.ROLEHEAD then
|
|
-- lua_resM:setOutsideRawImage(self,self.nice_bg_raw,GameResPath.GetViewBigBg("designation_tip_bg"))
|
|
self.nice_headCon_obj:SetActive(true)
|
|
self.head_item = self.head_item or self:CreateItem(HeadRoleItem, self.nice_headCon, self.layer_name)
|
|
self.head_item:SetCareerIconVisible(false)
|
|
self.head_item:SetItemSize(165,165)
|
|
local head_data = {
|
|
vo = {id=0,level=nil,sex=nil,turn=nil,do_not_click = true,use_bg = 3,
|
|
board = nil,picture_ver = nil,picture = nil,
|
|
profile_photo_id = self.type_id},
|
|
}
|
|
self.head_item:SetData(head_data)
|
|
-------------------------
|
|
local conf_head = NewMainRoleModel:getInstance():GetRoleHeadInfoByPhotoId(self.type_id)
|
|
if conf_head and conf_head.attr_list then
|
|
self.attr_list = stringtotable(conf_head.attr_list)
|
|
end
|
|
elseif show_type == GoodsModel.TYPE.CHATBUBBLE then -- 气泡
|
|
self.nice_figureBubbleCon_obj:SetActive(true)
|
|
self.nice_figureBubbleCon_desc_obj:SetActive(true)
|
|
|
|
Obj_img = self.nice_figureBubbleCon_img
|
|
for k,v in pairs(ChatDressModel:getInstance():GetChatDressFigure(ChatDressSubType.BUBBLE)) do
|
|
if v.dress_id == self.type_id then
|
|
-- lua_resM:setOutsideRawImage(self,self.nice_bg_raw,GameResPath.GetViewBigBg("designation_tip_bg"))
|
|
-- self.nice_figureBubbleCon_desc_tmp.text = HtmlColorTxt(v.dress_desc, ColorUtil.BLUE_DARK)
|
|
-- self.nice_figureBubbleCon.sizeDelta = Vector2(self.nice_figureBubbleCon_desc_tmp.preferredWidth + 50, self.nice_figureBubbleCon_desc_tmp.preferredHeight + 30)
|
|
-- ---不同框的偏移
|
|
-- local addTable = Config.ConfigChatDress.Pos[tostring(self.type_id)]
|
|
-- SetSizeDeltaX(self.nice_figureBubbleCon, GetSizeDeltaX(self.nice_figureBubbleCon) + addTable.size_x )
|
|
-- SetSizeDeltaY(self.nice_figureBubbleCon, GetSizeDeltaY(self.nice_figureBubbleCon) + addTable.size_y )
|
|
|
|
self.nice_figureBubbleCon_desc_tmp.text = ""
|
|
SetSizeDelta(self.nice_figureBubbleCon, 200, 50)
|
|
|
|
lua_resM:setOutsideImageSprite(self, Obj_img, GameResPath.GetChatDressIcon(self.type_id), false)
|
|
self.attr_list = stringtotable(v.dress_attr)
|
|
break
|
|
end
|
|
end
|
|
elseif show_type == GoodsModel.TYPE.ROLEWINDOW then -- 头像框
|
|
self.nice_figureHeadCon_obj:SetActive(true)
|
|
--lua_resM:setOutsideRawImage(self,self.nice_bg_raw,GameResPath.GetViewBigBg("designation_tip_bg"))
|
|
-- 拿属性
|
|
for k,v in pairs(ChatDressModel:getInstance():GetChatDressFigure(ChatDressSubType.HEAD)) do
|
|
if v.dress_id == self.type_id then
|
|
self.attr_list = stringtotable(v.dress_attr)
|
|
break
|
|
end
|
|
end
|
|
lua_resM:setOutsideImageSprite(self, self.nice_figureHeadCon_img, GameResPath.GetChatDressIcon(self.type_id), false)
|
|
elseif show_type == GoodsModel.TYPE.GALAXY then -- 星辰
|
|
-- lua_resM:setOutsideRawImage(self,self.nice_bg_raw,GameResPath.GetViewBigBg("designation_tip_bg"))
|
|
self.nice_designation_con_obj:SetActive(true)
|
|
local model_id = GalaxyModel:getInstance():GetGalaxySkinModelId(self.basic.type_id)
|
|
if model_id then
|
|
local data = {
|
|
clothe_res_id = model_id,
|
|
type = SceneBaseType.Galaxy,
|
|
layer_name = self.layer_name,
|
|
on_name_list = {"show"},
|
|
scale = 500,
|
|
position = Vector3(0,-50,-100),
|
|
}
|
|
lua_resM:SetRoleModel(self,self.nice_designation_raw,data)
|
|
self.nice_designation_raw_obj:SetActive(true)
|
|
else
|
|
self.nice_designation_raw_obj:SetActive(false)
|
|
end
|
|
elseif show_type == GoodsModel.TYPE.DailyLight then
|
|
--幻光
|
|
--lua_resM:setOutsideRawImage(self,self.nice_bg_raw,GameResPath.GetViewBigBg("designation_tip_bg"))
|
|
self.daily_skill_con_obj:SetActive(true)
|
|
local show_conf = false
|
|
if show_model_cfg then
|
|
show_conf = {type = show_model_cfg.model_type, model = show_model_cfg.model_id, power = show_model_cfg.power}
|
|
end
|
|
local scale = 2
|
|
local possition = Vector3(0, 0,0)
|
|
local res_data = {
|
|
father_node = self,
|
|
transform = self.nice_roleCon,
|
|
fashion_type = show_conf.type,
|
|
layer_name = self.layer_name,
|
|
size = Vector2(720,720),
|
|
scale = scale,
|
|
figure_id = show_conf.model,
|
|
ui_model_type = UIModelCommon.ModelType.Model,
|
|
position = possition,
|
|
}
|
|
local pos_x, pos_y, pos_z = GetLocalPosition(self.nice_roleCon)
|
|
SetLocalPosition(self.nice_roleCon, pos_x, pos_y,pos_z - 300)
|
|
self.nice_roleCon_obj:SetActive(true)
|
|
FuncOpenModel:getInstance():SetModelRes(res_data)
|
|
self.power_show_num = show_conf.power
|
|
self.wardrobe_text_tmp.text = ""
|
|
local daily_skill_cfg = Config.Visus[show_model_cfg.dialy_skill_id]
|
|
if not daily_skill_cfg then
|
|
print('Ych:GoodsTooltips.lua[1227] error can not find daily skill item ', show_model_cfg.dialy_skill_id)
|
|
return
|
|
end
|
|
local skill_table = stringtotable(daily_skill_cfg.skill)
|
|
local daily_skill_vo = SkillVo.New(tonumber(skill_table[1]) )
|
|
daily_skill_vo.level = tonumber(skill_table[2])
|
|
local name_color = ColorUtil.BLUE_DARK
|
|
if daily_skill_vo.level == 2 then
|
|
name_color = ColorUtil.PURPLE_DARK
|
|
elseif daily_skill_vo.level == 3 then
|
|
name_color = ColorUtil.ORANGE_DARK
|
|
end
|
|
self.daily_skill_name_tmp.text = HtmlColorTxt(daily_skill_vo:getName(), name_color)
|
|
if show_model_cfg.up_level_tips == 1 then
|
|
self.daily_skill_level_tmp.text = "等级:" .. HtmlColorTxt(tostring(daily_skill_vo.level), "#fdffc2" ) .. HtmlColorTxt("(激活高阶圣光可升级)", "#cb8336")
|
|
else
|
|
self.daily_skill_level_tmp.text = "等级:" .. HtmlColorTxt(tostring(daily_skill_vo.level), "#fdffc2" ) .. HtmlColorTxt("(已升至最高级)", ColorUtil.RED_DARK)
|
|
end
|
|
self.daily_skill_desc_tmp.text = daily_skill_vo:GetDesc()
|
|
lua_resM:setOutsideRawImage(self,self.daily_skill_bg_raw,GameResPath.GetViewBigBg("goods_tool_tip_daily_skill_bg"))
|
|
lua_resM:setOutsideImageSprite(self,self.daily_skill_icon_img,GameResPath.GetSkillIcon(daily_skill_vo.id), false)
|
|
|
|
elseif show_type == GoodsModel.TYPE.FosterSkin or show_type == GoodsModel.TYPE.Foster then
|
|
--珍宝
|
|
--lua_resM:setOutsideRawImage(self,self.nice_bg_raw,GameResPath.GetViewBigBg("designation_tip_bg"))
|
|
local show_conf = false
|
|
if show_model_cfg then
|
|
show_conf = {type = show_model_cfg.model_type, model_size = Vector2(720, 720),
|
|
model = show_model_cfg.model_id, career = show_model_cfg.career,power = show_model_cfg.power}
|
|
SetLocalScale(self.nice_roleCon.transform, 0.6,0.6,0.6)
|
|
local node1 = self.nice_roleCon
|
|
local change_x,change_y = 0,30
|
|
local x,y = GetAnchoredPosition( node1.transform )
|
|
SetAnchoredPosition( node1.transform, x+change_x, y+change_y )
|
|
elseif basic.subtype == 6 then --AI娘皮肤
|
|
local conf = FosterModel:GetFosterSubSkinConfByMat(FosterConst.ModuleId.FJarvis, basic.type_id)
|
|
if not conf then return end
|
|
show_conf = {type = FuncOpenModel.TypeId.FJarvis - 1000, model = conf.skin_id, model_size = Vector2(720, 720),
|
|
position = Vector3(0, -35, -700),
|
|
scale = 200,
|
|
power = GetFighting(stringtotable(conf.attr_list, true))}
|
|
elseif basic.subtype == 7 then --磁炮皮肤
|
|
local conf = FosterModel:GetFosterSubSkinConfByMat(FosterConst.ModuleId.FGun, basic.type_id)
|
|
show_conf = {type = FuncOpenModel.TypeId.FGun - 1000, model = conf.skin_id, model_size = Vector2(720, 720),
|
|
position = Vector3(0, 0,-700),
|
|
power = GetFighting(stringtotable(conf.attr_list, true))}
|
|
elseif basic.subtype == 8 then --星翼皮肤
|
|
local conf = FosterModel:GetFosterSubSkinConfByMat(FosterConst.ModuleId.FCloud, basic.type_id)
|
|
show_conf = {type = FuncOpenModel.TypeId.FCloud - 1000, model = conf.skin_id, model_size = Vector2(720, 720),
|
|
position = Vector3(0, 0, -700),
|
|
power = GetFighting(stringtotable(conf.attr_list, true))}
|
|
elseif basic.subtype == 9 then --幻甲皮肤
|
|
local conf = FosterModel:GetFosterSubSkinConfByMat(FosterConst.ModuleId.FArmour, basic.type_id)
|
|
show_conf = {type = FuncOpenModel.TypeId.FArmour - 1000, model = conf.skin_id, model_size = Vector2(720, 720),
|
|
position = Vector3(-15, 0, -700),
|
|
power = GetFighting(stringtotable(conf.attr_list, true))}
|
|
else
|
|
show_conf = ShapeModel:GetInstance():GetConfByGoodsId( self.basic.type_id )
|
|
show_conf.model_size = Vector2(720,720)
|
|
SetLocalScale(self.nice_roleCon.transform, 0.6,0.6,0.6)
|
|
local node1 = self.nice_roleCon
|
|
local change_x,change_y = 0,30
|
|
local x,y = GetAnchoredPosition( node1.transform )
|
|
SetAnchoredPosition( node1.transform, x+change_x, y+change_y )
|
|
end
|
|
|
|
self.nice_roleCon_obj:SetActive(true)
|
|
local res_data = {
|
|
father_node = self,
|
|
transform = self.nice_roleCon,
|
|
fashion_type = show_conf.type + 1000,
|
|
layer_name = self.layer_name,
|
|
size = show_conf.model_size,
|
|
position = show_conf.position,
|
|
figure_id = show_conf.model,
|
|
scale = show_conf.scale,
|
|
ui_model_type = UIModelCommon.ModelType.Model,
|
|
career = show_conf.career,
|
|
}
|
|
FuncOpenModel:getInstance():SetModelRes(res_data)
|
|
-------------------------
|
|
|
|
-------------------------
|
|
self.power_show_num = show_conf.power and show_conf.power or ShapeModel:GetInstance():GetPowerById( show_conf.type, show_conf.id )
|
|
else
|
|
--其他类道具显示
|
|
|
|
--lua_resM:setOutsideRawImage(self,self.nice_bg_raw,GameResPath.GetViewBigBg("designation_tip_bg"))
|
|
self.nice_designation_con_obj:SetActive(true)
|
|
self.nice_designation_image_obj:SetActive(true)
|
|
--lua_resM:setOutsideImageSprite(self, self.nice_designation_image_img, GameResPath.GetChildHandbookIcon(basic.type_id), true)
|
|
end
|
|
self:UpdateAttrCon()
|
|
self.nice_name_text_tmp.text = basic.goods_name
|
|
else
|
|
self.nice_con_obj:SetActive(false)
|
|
end
|
|
end
|
|
|
|
|
|
function GoodsTooltips:UpdateAttrCon()
|
|
if self.power_show_num then
|
|
self.nice_power_text_txt.text = self.power_show_num
|
|
return
|
|
end
|
|
local attr_list = self.attr_list
|
|
self.nice_power_text_txt.text = GetFighting(attr_list)
|
|
end
|
|
|
|
--限时抢购用
|
|
function GoodsTooltips:UpdateLimitShop( )
|
|
self.show_left_extra_view = false--保存一个参数,存在的时候 商城con和获取途径 互斥存在
|
|
if not self.type_id then return end
|
|
local data = KfActivityModel:getInstance():GetRushQuickBuy( self.type_id )
|
|
if data then
|
|
self.left_extra_con_obj:SetActive(true)
|
|
if not self.limit_shop_view then
|
|
self.limit_shop_view = self:CreateItem(KfActivityLimitShopTip, self.left_extra_con, self.layer_name)
|
|
end
|
|
self.limit_shop_view:SetData(self.type_id)
|
|
self.limit_shop_view:SetPosition(4,-4)
|
|
self.show_left_extra_view = true
|
|
else
|
|
self.left_extra_con_obj:SetActive(false)
|
|
end
|
|
end
|
|
|
|
function GoodsTooltips:ShowShopItem( )
|
|
local need_show = false
|
|
if self.shop_data then
|
|
if self.show_left_extra_view and self.show_get_way then
|
|
need_show = false
|
|
else
|
|
need_show = true
|
|
end
|
|
end
|
|
self.shop_con_obj:SetActive(need_show)
|
|
end
|
|
|
|
-- 进阶首充弹窗
|
|
function GoodsTooltips:UpdateFosterRechargeShow( )
|
|
if KfActivityModel:getInstance():CheckFosterRechargeAdsShow( self.parm_list.foster_data.type, self.parm_list.foster_data.grade) then
|
|
self.left_extra_con_obj:SetActive(true)
|
|
if not self.foster_recharge_view then
|
|
self.foster_recharge_view = self:CreateItem(FosterRechargeItem, self.left_extra_con, self.layer_name)
|
|
end
|
|
local click_cb = function( )
|
|
self:Close()
|
|
end
|
|
|
|
if not RechargeActivityModel:getInstance():IsRecharge() then
|
|
self.sound_id = lua_soundM:PlayEffect(self, "guide_10", false, LuaSoundManager.SOUND_TYPE.GUIDE)
|
|
end
|
|
|
|
self.foster_recharge_view:SetData( self.parm_list.foster_data.type, click_cb)
|
|
else
|
|
self.left_extra_con_obj:SetActive(false)
|
|
end
|
|
end
|
|
|
|
function GoodsTooltips:Close( )
|
|
--完成引导
|
|
local helpVo = GuideModel:getInstance():GetHelpVo(HelpType.TYPE_HORSE,4)
|
|
if helpVo then
|
|
GlobalEventSystem:Fire(EventName.FINISH_CURRENT_HELP_STEP,helpVo)
|
|
end
|
|
BaseView.Close(self)
|
|
end
|