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
|