源战役客户端
Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.
 
 
 
 
 

227 řádky
6.8 KiB

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