|
|
- 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
|