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