|
|
- PetVoteView = PetVoteView or BaseClass(BaseView)
- local PetVoteView = PetVoteView
-
- function PetVoteView:__init()
- self.base_file = "pet"
- self.layout_file = "PetVoteView"
- self.layer_name = "Activity"
- self.destroy_imm = true
- self.use_background = true
- self.change_scene_close = true
- self.hide_maincancas = false --是否隐藏主界面
- self.append_to_ctl_queue = false --是否要添加进界面堆栈
- self.need_show_money = false --是否要显示顶部的金钱栏\
- self.is_set_zdepth = true
-
- self.blur_activity_bg = true
- -- self.use_show_anim = true
- -- self.use_hide_anim = true
-
- self.model = PetModel:getInstance()
-
- self.load_callback = function ()
- self:LoadSuccess()
- self:AddEvent()
- end
- self.open_callback = function ( )
- self:OpenSuccess()
- end
- self.destroy_callback = function ( )
- self:DestroySuccess()
- end
- end
-
- function PetVoteView:Open(index)
- self.current_index = index or 1
- BaseView.Open(self)
- end
-
- function PetVoteView:LoadSuccess()
- local nodes = {
- "bg:raw", "mainTitle:img",
- "rankBtn:obj", "shareBtn:obj", "close:obj",
- "voteTimes:tmp",
- "rankBtn/rankRewardBtn:obj",
- "ScrollView", "ScrollView/Viewport/Content",
- "tips2:tmp", "tips1:tmp",
- "endTime:tmp",
- "empty/image:raw", "empty/girl:raw",
- "empty:obj",
- }
- self:GetChildren(nodes)
-
- self.tips1_tmp.text = "每日4:00更新统计全服宠物战力排行前8位的宠物 <#fdffc2>(4日后开启跨服模式)</color>"
- self.tips2_tmp.text = "上榜宠物主人可获得排行大礼,其他玩家每日点赞可获得点赞奖励"
-
- lua_resM:setOutsideRawImage(self,self.bg_raw,GameResPath.GetViewBigBg("pet_vote_bg"))
- lua_resM:setOutsideImageSprite(self, self.mainTitle_img, GameResPath.GetPetImage("pet_vote_slogan"))
-
- lua_resM:setOutsideRawImage(self, self.girl_raw, GameResPath.GetRoleBg("com_empty_dialogueGirl1_590x560"), false)
- lua_resM:setOutsideRawImage(self, self.image_raw, GameResPath.GetViewBigBg("com_empty_bg1"))
-
- end
-
- function PetVoteView:AddEvent()
- local on_click = function ( click_obj )
- if self.rankBtn_obj == click_obj then
- if self.model:CanVotePetRank() then
- self.model:Fire(PetConst.OPEN_PET_SUPPORT_RANK_VIEW)
- else
- Message.show("上榜宠物不足,请耐心等候哦!")
- end
- elseif self.shareBtn_obj == click_obj then
- local content = "快来pick人气宠物吧!<a@showPetVote><color=#2cf89a>[点击前往]</color></a>"
- ChatModel:getInstance():Fire(ChatModel.SEND_MSG,ChatModel.CHANNEL_WORLD,content,nil,nil,ChatModel.CHAT_COMMON_TYPE.SYSTEM)
- Message.show("已分享至世界频道!","success")
- elseif self.close_obj == click_obj then
- self:Close()
- end
- end
- AddClickEvent(self.rankBtn_obj, on_click)
- AddClickEvent(self.shareBtn_obj, on_click)
- AddClickEvent(self.close_obj, on_click)
-
- local function onUpdateVoteView()
- self:UpdateView()
- end
- self:BindEvent(self.model, PetConst.UPDATE_VOTE_VIEW, onUpdateVoteView)
-
- local function onUpdateVoteTimes()
- self:UpdateLeftVoteTimes()
- end
- self:BindEvent(self.model, PetConst.UPDATE_LEFT_VOTE_TIMES, onUpdateVoteTimes)
-
- --红点更新
- local function on_ans_update_red_dot(tab_id)
- if not self.is_loaded then return end
- if tab_id == PetConst.RED_DOT_TYPE.Reward then
- self:RefreshRed()
- end
- end
- self:BindEvent(self.model, PetConst.ANS_UPDATE_RED_DOT, on_ans_update_red_dot)
-
- end
-
- function PetVoteView:RefreshRed( )
- local reward_vote = self.model:GetPetRewardRed()
- self.rankRewardBtn_obj:SetActive(reward_vote)
- end
-
- function PetVoteView:OpenSuccess()
- -- self.model:Fire(PetConst.REQUEST_CCMD_EVENT,16312)
- self.model:Fire(PetConst.REQUEST_CCMD_EVENT,16309)
- end
-
- function PetVoteView:UpdateView( )
- local time_four = TimeUtil:GetToDayNHourStr(4)
- if TimeUtil:getServerTime() <= time_four then--还没到今天4点,显示昨天4点结算
- self.endTime_tmp.text = string.format("本次统计截止 <#fdffc2>%s 凌晨4:00</color>",TimeUtil:timeConversion(TimeUtil:getServerTime()-86400,"mm月dd日"))
- else--超过了就是今日的4点结算
- self.endTime_tmp.text = string.format("本次统计截止 <#fdffc2>%s 凌晨4:00</color>",TimeUtil:timeConversion(TimeUtil:getServerTime(),"mm月dd日"))
- end
-
- local pet_vote_data = self.model:GetRankData()
- -- if not pet_vote_data or #pet_vote_data == 0 then
- if not self.model:CanVotePetRank() then
- self.empty_obj:SetActive(true)
- return
- else
- self.empty_obj:SetActive(false)
- end
-
- if not self.item_list_com then
- self.item_list_com = self:AddUIComponent(UI.ItemListCreator)
- end
- local info = {
- data_list = pet_vote_data,
- item_con = self.Content,
- item_class = PetVoteItem,
- item_width = 176,
- item_height = 235,
- space_x = 7,
- space_y = 16,
- start_x = 5,
- start_y = -4,
- scroll_view = self.ScrollView,
- -- create_frequency = 0.01,
- on_update_item = function(item, i, v)
- item:SetData(v,i)
- end,
- }
- self.item_list_com:UpdateItems(info)
-
-
-
- -- local pet_vote_data_1 = self.model:GetPetVoteDataByRare(1)
- -- local pet_vote_data_2 = self.model:GetPetVoteDataByRare(2)
- -- local pet_vote_data_3 = self.model:GetPetVoteDataByRare(3)
-
- -- if not self.item_list_com_1 then
- -- self.item_list_com_1 = self:AddUIComponent(UI.ItemListCreator)
- -- end
- -- local info = {
- -- data_list = pet_vote_data_1,
- -- item_con = self.Content_1,
- -- item_class = PetVoteItem,
- -- item_height = 90,
- -- space_y = -3,
- -- start_x = 0,
- -- start_y = 2,
- -- scroll_view = self.ScrollView_2,
- -- create_frequency = 0.01,
- -- on_update_item = function(item, i, v)
- -- item:SetData(v,i,1)
- -- end,
- -- }
- -- self.item_list_com_1:UpdateItems(info)
-
- -- if not self.item_list_com_2 then
- -- self.item_list_com_2 = self:AddUIComponent(UI.ItemListCreator)
- -- end
- -- local info = {
- -- data_list = pet_vote_data_2,
- -- item_con = self.Content_2,
- -- item_class = PetVoteItem,
- -- item_height = 90,
- -- space_y = -3,
- -- start_x = 0,
- -- start_y = 2,
- -- scroll_view = self.ScrollView_2,
- -- create_frequency = 0.01,
- -- on_update_item = function(item, i, v)
- -- item:SetData(v,i,2)
- -- end,
- -- }
- -- self.item_list_com_2:UpdateItems(info)
-
- -- if not self.item_list_com_3 then
- -- self.item_list_com_3 = self:AddUIComponent(UI.ItemListCreator)
- -- end
- -- local info = {
- -- data_list = pet_vote_data_3,
- -- item_con = self.Content_3,
- -- item_class = PetVoteItem,
- -- item_height = 90,
- -- space_y = -3,
- -- start_x = 0,
- -- start_y = 2,
- -- scroll_view = self.ScrollView_3,
- -- create_frequency = 0.01,
- -- on_update_item = function(item, i, v)
- -- item:SetData(v,i,3)
- -- end,
- -- }
- -- self.item_list_com_3:UpdateItems(info)
-
- self:RefreshRed()
- end
-
- function PetVoteView:UpdateLeftVoteTimes( )
- local left_vote_times = self.model:GetMyLeftVoteTimes()
- local str_color = left_vote_times > 0 and ColorUtil.GREEN_TIPS or ColorUtil.RED_DARK
- self.voteTimes_tmp.text = string.format("今日剩余点赞次数:<%s>%s</color>", str_color, left_vote_times)
- end
-
- function PetVoteView:DestroySuccess( )
-
- end
|