源战役客户端
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 
 
 

179 行
5.3 KiB

GetPicItem = GetPicItem or BaseClass(BaseItem)
local GetPicItem = GetPicItem
function GetPicItem:__init()
self.base_file = "common"
self.layout_file = "GetGoodsItem"
self.is_delay_callback = true
self.can_go = true
self.model = ComposeModel:getInstance()
self.need_refresh = false
self:Load()
end
function GetPicItem:__delete()
if self.icon_item then
self.icon_item:DeleteMe()
self.icon_item = nil
end
end
function GetPicItem:Load_callback()
self.icon = self:GetChild("icon"):GetComponent("Image")
self.icon_trans = self:GetChild("icon").transform
--self.bg = self:GetChild("bg"):GetComponent("Image")
self.name = self:GetChild("desc/name"):GetComponent("Text")
self.hint = self:GetChild("desc/hint"):GetComponent("Text")
self.level = self:GetChild("level"):GetComponent("Text")
self.go = self:GetChild("go").gameObject
self.mask = self:GetChild("mask").gameObject
self.recommend = self:GetChild("recommend").gameObject
self.click = self:GetChild("click").gameObject
self:InitEvent()
if self.need_refresh then
self:SetData(self.data, self.pic_id, self.callback)
end
end
function GetPicItem:InitEvent()
local function onBtnClickHandler(target)
if target == self.click then
self:GoFunc()
end
end
AddClickEvent(self.click, onBtnClickHandler)
end
function GetPicItem:GoFunc()
if self.data[1] == "331" then
Message.show("请关注开启的各种精彩活动哦")
else
if self.can_go then
GlobalEventSystem:Fire(EventName.CLOSE_ALL_VIEW)
if self.data[1] == "132" then --野外挂机
self:FindWay()
elseif self.data[1] == "153" then --商城
local parm_1, parm_2
if self.data[2] == "6" then
parm_1 = 5
parm_2 = self.type_id
elseif self.data[2] == "7" then
parm_1 = self.type_id
parm_2 = 1
else
parm_1 = tonumber(self.data[2])
parm_2 = self.type_id
end
-- parm_2 = self.type_id
OpenFun.Open(self.data[1], self.data[2], parm_1, parm_2)
elseif self.data[1] == "150" then
local parm_1, parm_2
if self.data[2] == "1" then
-- parm_1 = ComposeModel.ComposePanelID.UPGRADE_ITEM
elseif self.data[2] == "2" then
parm_1 = ComposeModel.ComposePanelID.GOODS_JEWEL
elseif self.data[2] == "3" then
parm_1 = ComposeModel.ComposePanelID.GOODS_ITEM
elseif self.data[2] == "4" then
parm_1 = ComposeModel.ComposePanelID.GOODS_SUIT
elseif self.data[2] == "5" then
parm_1 = ComposeModel.ComposePanelID.UPGRADE_ITEM
end
parm_2 = Config.Goodscomposeindex[self.type_id].target_id
OpenFun.Open(self.data[1], self.data[2], parm_1, parm_2)
else
OpenFun.Open(self.data[1], self.data[2])
end
if self.callback then
self.callback()
end
else
Message.show("等级不足,快去升级吧!")
end
end
end
function GetPicItem:SetData(data, pic_id, callback)
self.data = data
self.pic_id = pic_id
self.callback = callback
if not self.data then return end
if self.is_loaded then
local main = tonumber(self.data[1])
local sub = tonumber(self.data[2])
local priority = self.data[3] == 1 and true or false
if main == 132 then --野外挂机
local cfg = Config.Ac["132@0@1"]
self.recommend:SetActive(priority)
self.name.text = Trim(cfg.ac_name)
lua_resM:setOutsideImageSprite(self, self.icon, GameResPath.GetDailyImage(Trim(cfg.ac_icon)), true)
else
local cfg = OpenFun.GetFunCfg(main, sub)
if cfg then
self.recommend:SetActive(priority)
self.name.text = cfg.name
local call_back = function( objs )
if not objs or not objs[0] then
lua_resM:setOutsideImageSprite(self,self.icon,GameResPath.GetDailyImage(cfg.icon_res),true)
end
end
local asset = cfg.icon_asset or "activityIcon_asset"
lua_resM:setImageSprite(self,self.icon,asset,cfg.icon_res, cfg.bool_fit,call_back)
if self.data[1] == "331" then --活动
self.hint.gameObject:SetActive(true)
self.hint.text = "请关注"..cfg.name.."的开启哦!"
self.go:SetActive(false)
self.level.text = ""
else
self.hint.gameObject:SetActive(false)
if RoleManager.Instance.mainRoleInfo.level < cfg.openLv then
self:SetState(false)
self.level.text = "<color="..ColorUtil.RED..">"..cfg.openLv.."级开启</color>"
else
self:SetState(true)
self.level.text = ""
end
end
end
end
else
self.need_refresh = true
end
end
function GetPicItem:SetState(bool)
self.can_go = bool
self.mask:SetActive(not bool)
self.go:SetActive(bool)
end
function GetPicItem:FindWay()
local onHookData = DailyModel:getInstance():GetOnhookConfig()
if onHookData then
local scene_id = tonumber(onHookData.scene_id)
local pointList = ErlangParser:GetInstance():Parse(onHookData.xy)
local index = math.random(1, #pointList)
local randomPoint = pointList[index]
local x = tonumber(randomPoint[1])
local y = tonumber(randomPoint[2])
local call_back = function ()
GlobalEventSystem:Fire(EventName.STARTAUTOFIGHT)
end
local findVo = FindVo.New()
findVo.type = FindVo.POINT
findVo.sceneId = scene_id
findVo.x = x / SceneObj.LogicRealRatio.x
findVo.y = y / SceneObj.LogicRealRatio.y
findVo.call_back = call_back
GlobalEventSystem:Fire(EventName.STOPAUTOFIGHT)
Scene.Instance:FindElement(findVo)
end
end