源战役客户端
Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.
 
 
 
 
 

651 Zeilen
24 KiB

DailyRechargePelletView = DailyRechargePelletView or BaseClass(BaseItem)
local DailyRechargePelletView = DailyRechargePelletView
local GetLocalPositionX = GetLocalPositionX
local GetLocalPositionY = GetLocalPositionY
-- DailyRechargePelletView.Width = 200
-- DailyRechargePelletView.Height = 90
function DailyRechargePelletView:__init(parent_wnd,prefab_asset,layer_name,sub_type)
self.base_file = "dailyRecharge"
self.layout_file = "DailyRechargePelletView"
self.layer_name = layer_name
self.sub_type = sub_type
self.model = RechargeActivityModel:getInstance()
self.list_item_left = {}
self.probAwardItems = {}
self.isStuckTimesNum = 0--检测球是否卡住
self.fireBtnPosYMoveNum = -5 --按钮下压高度
self.isPosCanFire = false
self.eachPowerUpTime = 0.4-- 蓄力间隔
self.ifCanKeyUp = false -- 按循序keydown-蓄力-发射才给发射,防止玩家一直按住蓄力等待下回合发射
self.isTimeCanFire = true--可以玩球
self.isGaming = false--游戏状态
self.powerNum = 0
self.cur_draw_skip_flag = false -- 防止等待协议的时候玩家点选了跳过动画状态,每次抽奖都要记录一次
self.time_out_reset_flag = false -- 如果玩家按住抽奖按钮过久,在自动发送84协议之前超时收到84的话,凭此状态重置动画界面
self.speed_common = 10
self.speed_power = 2
self.speed_moving = 1
self.need_reupdate_view = false
self.per_pos_list = {--进度条用到
[0] = 0,
[1] = 0.164, [2] = 0.375,
[3] = 0.582, [4] = 0.797,
[5] = 1,
}
-- 弹珠活动状态查询
CustomActivityModel:getInstance():Fire(CustomActivityModel.PROTO_CCMD_EVENT, 33180)
self:Load()
end
function DailyRechargePelletView:Load_callback()
self.nodes = {
"powerFireBtn_mask/powerFireBtn:obj", "powerFireBtn_mask:obj",
"powerFireBtn_mask/powerFireBtnRedDot:obj",
"spring:img", "ball","bg:raw", "lb_look:obj",
"powerSigns/powerSign2:obj", "powerSigns/powerSign3:obj", "powerSigns/powerSign6:obj",
"powerSigns/powerSign1:obj", "powerSigns/powerSign4:obj", "powerSigns/powerSign5:obj", "powerSigns/powerSign7:obj", "toggle_jump:tog",
-------------------------
"loadingReword/loading_txt5:tmp", "loadingReword/loading_txt4:tmp", "loadingReword/loading_txt2:tmp",
"loadingReword/loading_txt3:tmp", "loadingReword/loading_txt1:tmp",
-------------------------
"loadingReword/loading/emT_loadSign4:img", "loadingReword/loading/emT_loadSign5:img", "loadingReword/loading/emT_loadSign1:img",
"loadingReword/loading/emT_loadSign2:img", "loadingReword/loading/emT_loadSign3:img",
-------------------------
"loadingReword/redDot3:obj", "loadingReword/redDot1:obj", "loadingReword/redDot2:obj",
"loadingReword/redDot4:obj", "loadingReword/redDot5:obj",
-------------------------
"loadingReword/gift_icon4", "loadingReword/gift_icon5", "loadingReword/gift_icon2",
"loadingReword/gift_icon3", "loadingReword/gift_icon1",
-------------------------
"loadingReword/loading:img", "loadingReword/loading/cue_bg", "loadingReword/loading/cue_bg/loading_txt:tmp",
-------------------------
"showDifRewardCon/showDifRewardCon_bg/ScrollView_difReward/Viewport/Content_reward","showDifRewardCon:obj","showDifRewardCon/showDifRewardCon_bg:obj",
}
self:GetChildren(self.nodes)
-------------------------
self.box_clikc_obj = {}
self.box_clikc_obj[1] = self:GetChild("getPositions/pos1/quality_img").gameObject
self.box_clikc_obj[2] = self:GetChild("getPositions/pos2/quality_img").gameObject
self.box_clikc_obj[3] = self:GetChild("getPositions/pos3/quality_img").gameObject
self.box_clikc_obj[4] = self:GetChild("getPositions/pos4/quality_img").gameObject
self.box_clikc_obj[5] = self:GetChild("getPositions/pos5/quality_img").gameObject
-------------------------
self:AddEvents()
self.powerSign_objs = self.powerSign_objs or {}
for i=1,7 do
self.powerSign_objs[i] = self["powerSign" .. i .. "_obj"]
end
self.finalPos_tranfs ={}
for i=1,5 do
self.finalPos_tranfs[i] = self:GetChild("getPositions/pos"..i)
end
-------------------------
self.springDeltaY = GetSizeDeltaY(self.spring)
self.springStartDeltaY = GetSizeDeltaY(self.spring)
self.springColiderPosX = GetLocalPositionX(self.spring)
self.springColiderPosY = GetLocalPositionY(self.spring) + GetSizeDeltaY(self.spring)
self.ball_Riridbody = self.ball:GetComponent("Rigidbody2D")
self:SetPowerSignsActive(false)
self:ResetGame()
self.bg_res = self.bg_res == "dailyRecharge_bg_1" and "dailyRecharge_bg_2" or "dailyRecharge_bg_1"
lua_resM:setOutsideRawImage(self,self.bg_raw,GameResPath.GetViewBigBg(self.bg_res),false)
-- if self.need_refreshData then
self:UpdateView()
-- end
self:StartBgAction()
end
function DailyRechargePelletView:StartBgAction( )
self.change_need = self.speed_common
self.change_index = 0
local function clockFun()
self.change_index = self.change_index + 1
if self.change_index >= self.change_need then
self.bg_res = self.bg_res == "dailyRecharge_bg_1" and "dailyRecharge_bg_2" or "dailyRecharge_bg_1"
lua_resM:setOutsideRawImage(self,self.bg_raw,GameResPath.GetViewBigBg(self.bg_res),false)
self.change_index = 0
end
end
self.close_time_id = self.close_time_id GlobalTimerQuest:AddPeriodQuest(clockFun, 0.1, -1)
end
function DailyRechargePelletView:RefreshRed( )
local basic = self.model:GetPelletBasicInfo()
if basic and basic.award_status then
for i=1,5 do
if basic.award_status[i] then
self["redDot" .. i.."_obj"]:SetActive(basic.award_status[i].status == 1)
else
self["redDot" .. i.."_obj"]:SetActive(false)
end
end
end
-------------------------
local tickid = self.model:GetPelletTicketId( )
local num = GoodsModel:getInstance():GetTypeGoodsNum( tickid )
self.powerFireBtnRedDot_obj:SetActive(num > 0)
end
function DailyRechargePelletView:PlayStatus( )
--(0未达成 1未领 2已领)
local have_can_get = false--存在未领
local have_cannot = false--存在未达成
local basic = self.model:GetPelletBasicInfo()
if basic and basic.award_status then
for i=1,5 do
if basic.award_status[i] then
have_can_get = have_can_get or basic.award_status[i].status == 1
have_cannot = have_cannot or basic.award_status[i].status == 0
end
end
end
if (have_cannot == false) and have_can_get then
return "get"
end
-------------------------
local cost_id = self.model:GetPelletTicketId( self.sub_type )
local num = GoodsModel:getInstance():GetTypeGoodsNum( cost_id )
if num == 0 then
return "num"
end
-------------------------
-- 追加返回一个状态,如果验证错误就不执行弹起操作
-- local validation_data = CustomActivityModel:getInstance():GetPelletEventValidationData()
-- if validation_data and validation_data.errcode ~= 1 then
-- return "error"
-- end
end
function DailyRechargePelletView:AddEvents( )
local function clickFireHandlerDown(target)
local status = self:PlayStatus()
if self.isGaming then
Message.show("正在抽奖中,请稍后重试...")
return
end
if status == "get" then
Message.show("请先领取次数宝箱~")
return
elseif status == "num" then
local cost_id = self.model:GetPelletTicketId( self.sub_type )
UIToolTipMgr:getInstance():AppendGoodsTips(cost_id,nil,nil,nil,nil,nil,nil,nil,true)
return
end
-------------------------
-- SetLocalPositionY(self.powerFireBtn.transform, self.fireBtnPosYMoveNum) --按钮下压
if not self.isPosCanFire then return end
-- if self.toggle_jump_tog.isOn then
-- CustomActivityModel:getInstance():Fire(CustomActivityModel.PROTO_CCMD_EVENT, 33179, self.sub_type or 0)
-- return
-- end
-- self:StartPowerUpTimer(self.eachPowerUpTime)
-- 现在开始抽奖无论如何都要发送79协议进行验证
CustomActivityModel:getInstance():Fire(CustomActivityModel.PROTO_CCMD_EVENT, 33179, self.sub_type or 0)
self.cur_draw_skip_flag = self.toggle_jump_tog.isOn
if not self.cur_draw_skip_flag then
self:StartPowerUpTimer(self.eachPowerUpTime)
end
end
local function clickFireHandlerUp(target)
-- local status = self:PlayStatus()
-- if status then
-- return
-- end
-------------------------
-- SetLocalPositionY(self.powerFireBtn.transform, 0) -- 按钮回升
self:FireFun()
end
AddDownEvent(self.powerFireBtn_obj,clickFireHandlerDown,1)
AddUpEvent(self.powerFireBtn_obj,clickFireHandlerUp,2)
local function call_back( target )
if target == self.lb_look_obj then
self.model:Fire(RechargeActivityModel.OPEN_DAILY_PELLET_RECORD)
elseif target == self.showDifRewardCon_obj then
self.showDifRewardCon_obj:SetActive(false)
elseif target == self.box_clikc_obj[1] then
self:ShowBoxAward(1)
elseif target == self.box_clikc_obj[2] then
self:ShowBoxAward(2)
elseif target == self.box_clikc_obj[3] then
self:ShowBoxAward(3)
elseif target == self.box_clikc_obj[4] then
self:ShowBoxAward(4)
elseif target == self.box_clikc_obj[5] then
self:ShowBoxAward(5)
end
end
AddClickEvent(self.lb_look_obj,call_back,false)
AddClickEvent(self.showDifRewardCon_obj,call_back,false)
AddClickEvent(self.box_clikc_obj[1],call_back,false)
AddClickEvent(self.box_clikc_obj[2],call_back,false)
AddClickEvent(self.box_clikc_obj[3],call_back,false)
AddClickEvent(self.box_clikc_obj[4],call_back,false)
AddClickEvent(self.box_clikc_obj[5],call_back,false)
local function UPDATE_PELLET_INFO( )
if not self.isGaming then -- 游戏进行期间不更新界面数据
self.need_reupdate_view = false
self:UpdateView()
else
self.need_reupdate_view = true
end
end
self:BindEvent(self.model, RechargeActivityModel.UPDATE_PELLET_INFO, UPDATE_PELLET_INFO)
local function onBagChange()
self:RefreshRed()
end
self:BindEvent(GoodsModel:getInstance(), GoodsModel.CHANGE_BAGLIST, onBagChange)
local function update_validation()
local validation_data = CustomActivityModel:getInstance():GetPelletEventValidationData()
if not validation_data or (validation_data and validation_data.errcode ~= 1) then -- 验证错误,立即重置动画
self:ClearAllTimer()
cc.ActionManager:getInstance():removeAllActionsFromTarget(self.spring)
self:ResetGame()
elseif validation_data and validation_data.errcode == 1 then
if self.cur_draw_skip_flag then -- 当此抽奖是要跳过动画的,就发0
CustomActivityModel:getInstance():Fire(CustomActivityModel.PROTO_CCMD_EVENT, 33184, 0, self.sub_type)
else
self.time_out_reset_flag = true
local function time_out_reset_func()
if self.isGaming and self.time_out_reset_flag then
self:ClearAllTimer()
cc.ActionManager:getInstance():removeAllActionsFromTarget(self.spring)
self:ResetGame()
self.ifCanKeyUp = false -- 这个可以屏蔽鼠标抬起的表现
-- 重置弹簧
self:ActionDeltaYBack(0, self.springStartDeltaY, self.spring)
self.powerNum = 0
self:SetPowerSignsActive(false)
self.springDeltaY = self.springStartDeltaY
self.time_out_reset_flag = false
Message.show("由于您长时间未操作,已为您自动完成并重置")
if self.need_reupdate_view then -- 重新刷新界面
self.need_reupdate_view = false
self:UpdateView()
end
end
end
self:CancelTimer(self.time_out_reset_func_id)
-- 延迟20秒,超时了就强制重置动画
self.time_out_reset_func_id = setTimeout(time_out_reset_func, 20)
end
end
end
self:BindEvent(self.model, RechargeActivityModel.UPDATE_PELLET_VALIDATION, update_validation)
-- 如果玩家按住按钮太久导致验证超时,则需要直接中止动画
local function cancel_time_out_reset_func()
self:CancelTimer(self.time_out_reset_func_id)
self.time_out_reset_flag = false
if self.need_reupdate_view then -- 重新刷新界面
self.need_reupdate_view = false
self:UpdateView()
end
end
self:BindEvent(self.model, RechargeActivityModel.PELLET_VALIDATION_SUCCEED, cancel_time_out_reset_func)
end
function DailyRechargePelletView:ShowBoxAward( index )
local base_info = self.model:GetPelletBasicInfo()
if not base_info then return end
local award_cfg = self.model:GetPelletRewardCfg(true, true, base_info.round, true, index)
if award_cfg then
local data = {}
data.award = award_cfg or {}
data.base_type = CustomActivityModel.CustomActBaseType.DAILY_RECHARGE
data.sub_type = CustomActivityModel:getInstance():getActMinSubType(data.base_type)
data.des = HtmlColorTxt("宝箱品质越高,获得极品道具的概率越高", ColorUtil.PURPLE_DARK)
data.des_off_x = -58
GlobalEventSystem:Fire(CompetingListModel.OPEN_COMPETING_LIST_AWARD_SHOW_VIEW, data)--通用提示界面
end
-------------------------
-- do return end
-------------------------
-- self.showDifRewardCon_obj:SetActive(true)
-- local pos_list = {-199,-95,11,119,221}
-- SetAnchoredPositionX( self.showDifRewardCon_bg.transform, pos_list[index] or pos_list[1] )
-- -------------------------
-- -- local str_reward = [[ [{200,{100,102603,1}},{300,{100,102603,2}},{250,{100,102603,1}},{100,{100,102501,2}},{200,{100,109032,1}}] ]]
-- local rewardsList = stringtotable(str_reward)
-- for k,v in pairs(rewardsList) do
-- v.color = GoodsModel:getInstance():GetGoodsBasicByTypeId(v[2][2]).color --按品质排序
-- end
-- local sort_func = function ( a, b )
-- return a.color > b.color
-- end
-- table.sort(rewardsList, sort_func)
-- for k,v in pairs(rewardsList) do
-- if self.probAwardItems[k] == nil then
-- self.probAwardItems[k] = UIObjPool:getInstance():PopItem(UIObjPool.UIType.AwardItem,self.Content_reward)
-- self.probAwardItems[k]:SetItemSize(49, 49)
-- end
-- self.probAwardItems[k]:SetData(v[2][2],v[2][3])
-- self.probAwardItems[k].transform.pivot = Vector2(0, 1)
-- self.probAwardItems[k].gameObject:SetActive(true)
-- end
-- for i=#rewardsList,#self.probAwardItems do
-- self.probAwardItems[i].gameObject:SetActive(false)
-- end
end
function DailyRechargePelletView:FireFun( )
if self.ifCanKeyUp == false then return end
if not self.isPosCanFire or not self.isTimeCanFire then return end
self.ifCanKeyUp = false
self:CancelTimer(self.powerUp_timer_id)
local num = 1 - (GetSizeDeltaY(self.spring)/self.springStartDeltaY) --系数
self.change_need = self.speed_moving
self.ball_Riridbody:AddForce(Vector2(0,600 + (820*num)))
cc.ActionManager:getInstance():removeAllActionsFromTarget(self.spring)
self:ActionDeltaYBack(0.1,self.springStartDeltaY,self.spring)
self.startTime = tonumber(TimeUtil:getServerTime())
local function delay( ) -- 弹簧不能瞬移恢复球还在移动
self.powerNum = 0
self:SetPowerSignsActive(false)
self.springDeltaY = self.springStartDeltaY--self.spring_img:SetNativeSize()
end
self:CancelTimer(self.spring_delay_timer)
self.spring_delay_timer = GlobalTimerQuest:AddDelayQuest(delay,0.1)
self.isPosCanFire = false
end
function DailyRechargePelletView:StartPowerUpTimer(time)
if not self.isPosCanFire or not self.isTimeCanFire then return end
self.isGaming = true
self.change_need = self.speed_power
self.ifCanKeyUp = true
-- Message.show("这里要控制不让关闭界面or重置,让它完整跑完")
self.powerNum = 0
local onUpdate = function ()
self.powerNum = self.powerNum + 1
self.springDeltaY = self.springDeltaY - 8
self:ActionDeltaYBack(time,self.springDeltaY,self.spring)
self:SetPowerSignsActive(true,self.powerNum)
if self.powerNum >= 7 then
self:CancelTimer(self.powerUp_timer_id)
end
end
if not self.powerUp_timer_id then
self.powerUp_timer_id = GlobalTimerQuest:AddPeriodQuest(onUpdate, time, -time)
onUpdate()
end
end
function DailyRechargePelletView:SetPowerSignsActive( bool,num )
if bool then
self.powerSign_objs[num]:SetActive(true)
else
for i = 1, #self.powerSign_objs do
self.powerSign_objs[i]:SetActive(false)
end
end
end
function DailyRechargePelletView:ActionDeltaYBack( time ,deltaY,transf)
local action_1 = cc.SizeTo.New( time, GetSizeDeltaX(transf), deltaY)
local function action_call_back( )
end
local action_call = cc.CallFunc.New( action_call_back )
local final_action = cc.Sequence.New( action_1,action_call )
self:AddAction(final_action, transf)
end
function DailyRechargePelletView:ResetGame()
if self.is_loaded then
self.break_game_mask_req = false
self.isGaming = false
self.change_need = self.speed_common
self.ball_Riridbody.velocity = Vector2(0, -1)
SetLocalPosition(self.ball.transform, 330, -150, 0)
self:StartPelletTimer(99999)
end
end
function DailyRechargePelletView:CancelTimer( timer )
if timer == self.start_timer_id then
GlobalTimerQuest:CancelQuest(self.start_timer_id)
self.start_timer_id = nil
elseif timer == self.powerUp_timer_id then
GlobalTimerQuest:CancelQuest(self.powerUp_timer_id)
self.powerUp_timer_id = nil
elseif timer == self.spring_delay_timer then
GlobalTimerQuest:CancelQuest(self.spring_delay_timer)
self.spring_delay_timer = nil
elseif timer == self.resetGame_delay_timer then
GlobalTimerQuest:CancelQuest(self.resetGame_delay_timer)
self.resetGame_delay_timer = nil
elseif timer == self.loadingTxt_delay_timer then
GlobalTimerQuest:CancelQuest(self.loadingTxt_delay_timer)
self.loadingTxt_delay_timer = nil
elseif timer == self.time_out_reset_func_id then
GlobalTimerQuest:CancelQuest(self.time_out_reset_func_id)
self.time_out_reset_func_id = nil
end
end
function DailyRechargePelletView:IsBallInStuckPos( )
local ballPosX = GetLocalPositionX(self.ball.transform)
local ballPosY = GetLocalPositionY(self.ball.transform)
local bool1 = (ballPosY >=self.springColiderPosY -35) and (ballPosY <=self.springColiderPosY + 35)
and (ballPosX >=self.springColiderPosX-35) and (ballPosX <=self.springColiderPosX + 35)
local bool2 = GetLocalPositionY(self.ball.transform) < GetLocalPositionY(self.finalPos_tranfs[1])
if not bool1 and not bool2 then
return true
else
return false
end
end
function DailyRechargePelletView:IsBallStuck( ) -- Updata中判断的
local waitTime = 10
if self:IsBallInStuckPos( ) or (self.isGaming and (self.change_need == self.speed_moving)) then
self.isStuckTimesNum = self.isStuckTimesNum + 1
if self.isStuckTimesNum == waitTime then
Message.show("球好像卡住了,重新开始吧","fault")
return true
end
else
self.isStuckTimesNum = 0
return false
end
end
function DailyRechargePelletView:StartPelletTimer(stime)
local time = stime
local onUpdate = function ()
if self:IsBallStuck( ) then
Message.show("球好像卡住了,重新开始吧","fault")
-- self.model:Fire(EmpowerConst.EMPOWER_REQ_EVENT, 41402,0,0,"0")
self:CancelTimer(self.start_timer_id)
self:ResetGame()
return
end
local ballPosX = GetLocalPositionX(self.ball.transform)
local ballPosY = GetLocalPositionY(self.ball.transform)
time = time - 1
if (ballPosY >=self.springColiderPosY -35) and (ballPosY <=self.springColiderPosY + 35)
and (ballPosX >=self.springColiderPosX-35) and (ballPosX <=self.springColiderPosX + 35) then
self.isPosCanFire = true
else
self.isPosCanFire = false
end
if GetLocalPositionY(self.ball.transform) < GetLocalPositionY(self.finalPos_tranfs[1]) then -- 不用触发器了-160
for i = 1, 5 do
local rangeNum = 51
local pointPosX = GetLocalPositionX(self.finalPos_tranfs[i])
if (ballPosX >= pointPosX - rangeNum) and (ballPosX <= pointPosX + rangeNum ) then
-- CustomActivityModel:getInstance():Fire(CustomActivityModel.PROTO_CCMD_EVENT, 33179, self.sub_type or 0)
local validation_data = CustomActivityModel:getInstance():GetPelletEventValidationData()
if validation_data and validation_data.errcode == 1 then
CustomActivityModel:getInstance():Fire(CustomActivityModel.PROTO_CCMD_EVENT, 33184, i, self.sub_type)
end
self.break_game_mask_req = true--加个标记,防止切界面的时候重复请求玩游戏
self.time_out_reset_flag = false -- 自动请求了,下面也会重置动画,这个变量要取消
self:CancelTimer(self.start_timer_id)
self:CancelTimer(self.time_out_reset_func_id)
local function delay( ) -- 让弹跳的球缓一下
self:ResetGame()
end
self.resetGame_delay_timer = GlobalTimerQuest:AddDelayQuest(delay,2)
end
end
end
if time < 0 then
-- Message.show("游戏结束,时间到","fault")
self:CancelTimer(self.start_timer_id)
self:CancelTimer(self.time_out_reset_func_id)
end
end
if not self.start_timer_id then
self.start_timer_id = GlobalTimerQuest:AddPeriodQuest(onUpdate, 1, -1)
onUpdate()
end
end
function DailyRechargePelletView:UpdateView( )
self:RefreshLeft()
self:RefreshRed()
end
function DailyRechargePelletView:ShowPer( cur )
if cur < (self.per_num_list[5] or 0) then
for i=1,5 do
if cur >= self.per_num_list[i] then
show_per = self.per_pos_list[i]
else
local temp_change_num = self.per_num_list[i] - self.per_num_list[i-1]
local temp_num_have = cur - self.per_num_list[i-1]
local temp_per = temp_num_have/temp_change_num
show_per = self.per_pos_list[i-1] + (self.per_pos_list[i] - self.per_pos_list[i-1])*temp_per
break
end
end
else
show_per = 1
end
self.loading_img.fillAmount = show_per
SetAnchoredPositionY( self.cue_bg.transform, show_per*419 )
self.loading_txt_tmp.text = cur
for i=1,5 do
if i ~= 5 and i ~= 3 then
lua_resM:setImageSprite(self, self["emT_loadSign"..i.."_img"], "dailyRecharge_asset", cur >= (self.per_num_list[i] or 100) and "dailyRecharge_btn_6" or "dailyRecharge_btn_7",true)
else
lua_resM:setImageSprite(self, self["emT_loadSign"..i.."_img"], "dailyRecharge_asset", cur >= (self.per_num_list[i] or 100) and "dailyRecharge_btn_8" or "dailyRecharge_btn_9",true)
end
end
end
function DailyRechargePelletView:RefreshLeft( )
local base_info = self.model:GetPelletBasicInfo()
if not base_info then return end
-------------------------
self.per_num_list = {[0] = 0}
for k,v in pairs(base_info.award_status) do
self.per_num_list[#self.per_num_list+1] = v.count
end
self:ShowPer(base_info.curr_count)
-------------------------
local show_list = self.model:GetPelletCountRewardCfg( tonumber(base_info.round) )
local function get_award_status( data,index )
if data and data[index] then
return data[index].status
end
return 0
end
for i=1,5 do
if show_list and show_list[i] then
self["loading_txt"..i.."_tmp"].text = self.per_num_list[i]
self["redDot"..i.."_obj"]:SetActive(false)
local reward = stringtotable(show_list[i].award)[1]
local function click_call( )
local new_base_info = self.model:GetPelletBasicInfo()
if get_award_status(new_base_info.award_status,i) == 1 then
--可领
CustomActivityModel:getInstance():Fire(CustomActivityModel.PROTO_CCMD_EVENT, 33181,new_base_info.award_status[i].count)
else
UIToolTipMgr:getInstance():AppendGoodsTips(reward[2], nil, nil,nil,nil,nil,nil,true)
end
end
if not self.list_item_left[i] then
self.list_item_left[i] = UIObjPool:getInstance():PopItem(UIObjPool.UIType.AwardItem,self["gift_icon"..i])
self.list_item_left[i]:SetItemSize(59,59)
self.list_item_left[i]:SetIsAct(true)
end
self.list_item_left[i]:SetDataWithMapId(reward[2], reward[3], reward[1])
self.list_item_left[i]:SetCallBack(click_call)
-------------------------
if get_award_status(base_info.award_status,i) == 2 then
--已领
self.list_item_left[i]:SetGray(true)
self.list_item_left[i]:SetNumLimitVisible(true,9)
elseif get_award_status(base_info.award_status,i) == 0 then
--未达成
self.list_item_left[i]:SetGray(false)
self.list_item_left[i]:SetNumLimitVisible(false,9)
else
self.list_item_left[i]:SetGray(false)
self.list_item_left[i]:SetNumLimitVisible(false,9)
end
-------------------------
end
end
end
function DailyRechargePelletView:ClearAllTimer( )
self:CancelTimer(self.start_timer_id)
self:CancelTimer(self.powerUp_timer_id)
self:CancelTimer(self.spring_delay_timer)
self:CancelTimer(self.resetGame_delay_timer)
self:CancelTimer(self.loadingTxt_delay_timer)
self:CancelTimer(self.time_out_reset_func_id)
end
function DailyRechargePelletView:__delete( )
self:ClearAllTimer()
cc.ActionManager:getInstance():removeAllActionsFromTarget(self.spring)
if self.close_time_id then
GlobalTimerQuest:CancelQuest(self.close_time_id)
self.close_time_id = nil
end
if self.list_item_left then
for k,v in pairs(self.list_item_left) do
UIObjPool:getInstance():PushItem(UIObjPool.UIType.AwardItem, v)
end
self.list_item_left = {}
end
for i=1,#self.probAwardItems do
if self.probAwardItems[i] then
UIObjPool:getInstance():PushItem(UIObjPool.UIType.AwardItem, self.probAwardItems[i])
self.probAwardItems[i] = nil
end
end
end