137 lines
5.7 KiB
Lua
Executable File
137 lines
5.7 KiB
Lua
Executable File
local SignWeekCell = class("SignWeekCell", BaseCell)
|
|
|
|
function SignWeekCell:init()
|
|
local uiMap = self:getUIMap()
|
|
self.upSlider = uiMap["bounty_cell.up_slider"]
|
|
self.upIcon = uiMap["bounty_cell.up_slider.icon"]
|
|
self.downSlider = uiMap["bounty_cell.down_slider"]
|
|
self.downIcon = uiMap["bounty_cell.down_slider.icon"]
|
|
self.downSliderCanvas = self.downSlider:getComponent(GConst.TYPEOF_UNITY_CLASS.CANVAS)
|
|
self.dayIconCanvas = uiMap["bounty_cell.day_icon"]:getComponent(GConst.TYPEOF_UNITY_CLASS.CANVAS)
|
|
self.dayTx = uiMap["bounty_cell.day_icon.day_tx"]
|
|
self.freeRewardCell = uiMap["bounty_cell.reward_free.reward_cell"]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.REWARD_CELL)
|
|
self.proRewardCells = {}
|
|
for i = 1, 2 do
|
|
self.proRewardCells[i] = uiMap["bounty_cell.reward_pro.reward_cell_" .. i]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.REWARD_CELL)
|
|
end
|
|
self.resignFlagTx = uiMap["bounty_cell.resign_tx"]
|
|
self.funcBtn = uiMap["bounty_cell.func_btn"]
|
|
self.funcBtnCostIcon = uiMap["bounty_cell.func_btn.icon"]
|
|
self.funcBtnCostTx = uiMap["bounty_cell.func_btn.resign_tx"]
|
|
self.funcBtnCenterTx = uiMap["bounty_cell.func_btn.center_tx"]
|
|
self.rp = uiMap["bounty_cell.func_btn.rp"]
|
|
self.signFlag = uiMap["bounty_cell.has_sign_flag"]
|
|
self.signFlagTx = uiMap["bounty_cell.has_sign_flag.desc_tx"]
|
|
end
|
|
|
|
function SignWeekCell:refresh(day)
|
|
local curDay = DataManager.SignWeekData:calculateDay()
|
|
local freeGot = DataManager.SignWeekData:getHasGotReward(GConst.SignConst.REWARD_TYPE.FREE, day)
|
|
local proGot = DataManager.SignWeekData:getHasGotReward(GConst.SignConst.REWARD_TYPE.PRO, day)
|
|
local freeCanGet = DataManager.SignWeekData:getCanGetReward(GConst.SignConst.REWARD_TYPE.FREE, day)
|
|
local rewardFree = DataManager.SignWeekData:getReward(GConst.SignConst.REWARD_TYPE.FREE, day)
|
|
local rewardPro1, rewardPro2 = DataManager.SignWeekData:getReward(GConst.SignConst.REWARD_TYPE.PRO, day)
|
|
local cost = DataManager.SignWeekData:getReSignCost()
|
|
local isUnlockPro = DataManager.SignWeekData:isUnlockPro()
|
|
|
|
self.dayTx:setText(day)
|
|
self.resignFlagTx:setText(I18N:getGlobalText(I18N.GlobalConst.ACT_BOUNTY_SIGNIN_DESC_9))
|
|
self.signFlagTx:setText(I18N:getGlobalText(I18N.GlobalConst.ACT_BOUNTY_SIGNIN_DESC_10))
|
|
self.funcBtnCostTx:setText(cost.num)
|
|
|
|
if curDay >= day then -- 处于可领取天数
|
|
if freeGot then -- 已经领过了
|
|
self.funcBtn:setActive(false)
|
|
self.resignFlagTx:setVisible(false)
|
|
self.signFlag:setVisible(true)
|
|
elseif freeCanGet then -- 可领取
|
|
self.funcBtn:setActive(true)
|
|
self.funcBtn:setSprite(GConst.ATLAS_PATH.COMMON, "common_btn_yellow_1")
|
|
self.funcBtnCostIcon:setVisible(false)
|
|
self.funcBtnCostTx:setVisible(false)
|
|
self.funcBtnCenterTx:setVisible(true)
|
|
self.funcBtnCenterTx:setText(I18N:getGlobalText(I18N.GlobalConst.ACT_BOUNTY_SIGNIN_DESC_8))
|
|
self.resignFlagTx:setVisible(false)
|
|
self.signFlag:setVisible(false)
|
|
self.rp:setVisible(true)
|
|
else
|
|
self.funcBtn:setActive(true)
|
|
self.funcBtn:setSprite(GConst.ATLAS_PATH.COMMON, "common_btn_blue_1")
|
|
self.funcBtnCostIcon:setVisible(true)
|
|
self.funcBtnCostTx:setVisible(true)
|
|
GFunc.centerImgAndTx(self.funcBtnCostIcon, self.funcBtnCostTx, 0, nil, -6)
|
|
self.funcBtnCenterTx:setVisible(false)
|
|
self.resignFlagTx:setVisible(true)
|
|
self.signFlag:setVisible(false)
|
|
self.rp:setVisible(false)
|
|
end
|
|
else -- 还未到达可领取天数
|
|
self.funcBtn:setActive(true)
|
|
self.funcBtn:setSprite(GConst.ATLAS_PATH.COMMON, "common_btn_grey_1")
|
|
self.funcBtnCostIcon:setVisible(false)
|
|
self.funcBtnCostTx:setVisible(false)
|
|
self.funcBtnCenterTx:setVisible(true)
|
|
self.funcBtnCenterTx:setText(I18N:getGlobalText(I18N.GlobalConst.GIFT_ROUTINE_DESC_11))
|
|
self.resignFlagTx:setVisible(false)
|
|
self.signFlag:setVisible(false)
|
|
self.rp:setVisible(false)
|
|
end
|
|
|
|
-- 刷新slider部分
|
|
-- self.upSlider:setVisible(day ~= 1)
|
|
-- self.downSlider:setVisible(day ~= 7)
|
|
self.upIcon:setVisible(day <= curDay)
|
|
self.downIcon:setVisible(day < curDay)
|
|
|
|
-- 奖励
|
|
self.freeRewardCell:refreshByConfig(rewardFree, freeGot, freeGot)
|
|
self.proRewardCells[1]:refreshByConfig(rewardPro1, proGot, proGot)
|
|
if rewardPro2 then
|
|
self.proRewardCells[2]:setActive(true)
|
|
self.proRewardCells[2]:refreshByConfig(rewardPro2, proGot, proGot)
|
|
else
|
|
self.proRewardCells[2]:setActive(false)
|
|
end
|
|
self.proRewardCells[1]:showLock(not isUnlockPro)
|
|
self.proRewardCells[2]:showLock(not isUnlockPro)
|
|
|
|
if freeGot and isUnlockPro and not proGot then
|
|
self.proRewardCells[1]:showFrameAnimation()
|
|
self.proRewardCells[2]:showFrameAnimation()
|
|
self.proRewardCells[1]:addClickListener(function()
|
|
ModuleManager.SignManager:reqSignClaimed(day, true)
|
|
end)
|
|
self.proRewardCells[2]:addClickListener(function()
|
|
ModuleManager.SignManager:reqSignClaimed(day, true)
|
|
end)
|
|
else
|
|
self.proRewardCells[1]:hideFrameAnimation()
|
|
self.proRewardCells[2]:hideFrameAnimation()
|
|
self.proRewardCells[1]:setClickShowTips()
|
|
self.proRewardCells[2]:setClickShowTips()
|
|
end
|
|
|
|
self.funcBtn:addClickListener(function()
|
|
local curDay = DataManager.SignWeekData:calculateDay()
|
|
local freeGot = DataManager.SignWeekData:getHasGotReward(GConst.SignConst.REWARD_TYPE.FREE, day)
|
|
local proGot = DataManager.SignWeekData:getHasGotReward(GConst.SignConst.REWARD_TYPE.PRO, day)
|
|
local freeCanGet = DataManager.SignWeekData:getCanGetReward(GConst.SignConst.REWARD_TYPE.FREE, day)
|
|
|
|
if curDay >= day then -- 处于可领取天数
|
|
if freeGot then -- 已经领过了
|
|
-- 不作处理
|
|
elseif freeCanGet then -- 可领取
|
|
ModuleManager.SignManager:reqSignClaimed(day, false)
|
|
else -- 补签
|
|
local cost = DataManager.SignWeekData:getReSignCost()
|
|
if GFunc.checkCost(cost.id, cost.num, true) then
|
|
ModuleManager.SignManager:reqSignReCheckin(day)
|
|
end
|
|
end
|
|
else -- 还未到达可领取天数
|
|
-- 不作处理
|
|
end
|
|
end)
|
|
end
|
|
|
|
return SignWeekCell |