ChildRankView = ChildRankView or BaseClass(BaseView)
|
|
local ChildRankView = ChildRankView
|
|
|
|
function ChildRankView:__init()
|
|
self.base_file = "child"
|
|
self.layout_file = "ChildRankView"
|
|
self.layer_name = "UI"
|
|
self.destroy_imm = true
|
|
self.use_background = true
|
|
self.change_scene_close = true
|
|
self.append_to_ctl_queue = false --是否要添加进界面堆栈
|
|
self.hide_maincancas = true --全屏界面需要放开隐藏主UI
|
|
self.blur_activity_bg = true
|
|
|
|
self.model = ChildModel:GetInstance()
|
|
self.rank_item_list = {}
|
|
self.rank_reward_item_list = {}
|
|
self.load_callback = function ()
|
|
self:LoadSuccess()
|
|
self:AddEvent()
|
|
end
|
|
self.open_callback = function ( )
|
|
--self:UpdateView()
|
|
end
|
|
self.destroy_callback = function ( )
|
|
self:DestroySuccess()
|
|
end
|
|
end
|
|
|
|
function ChildNiceRecordView:Open(data,callBack)
|
|
self.data = data
|
|
self.callBack = callBack
|
|
BaseView.Open(self)
|
|
end
|
|
function ChildRankView:LoadSuccess()
|
|
local nodes = {
|
|
"bg:img",
|
|
"ScrollView",
|
|
"ScrollView/Viewport/Content",
|
|
"bg/closeBtn:obj",
|
|
"right/ScrollView/Viewport/Content_reward",
|
|
"none:obj",
|
|
"myRank:obj",
|
|
--"myRank/txt_playerName:tmp",
|
|
"myRank/txt_childrName:tmp",
|
|
"myRank/txt_niceNum:tmp",
|
|
"myRank/txt_fight_num:tmp",
|
|
"myRank/txt_no_rank:obj:tmp",
|
|
-- "myRank/img_rank:obj:img",
|
|
-- "myRank/txt_no_rank_none:obj",
|
|
"myRank/role_icon",
|
|
"con_money",
|
|
--"myRank/vip_icon",
|
|
"img_tip:tmp",
|
|
"myRank/name_con/vip:obj:img", "myRank/name_con/name:tmp", "myRank/name_con/sex:obj:img",
|
|
"helpBtn:obj",
|
|
------------------
|
|
"myRank/btn_get/lb_btn_get:tmp",
|
|
"myRank/btn_get:obj:img",
|
|
"myRank/btn_get/btn_get_red:obj",
|
|
"myRank/lb_last_day_rank:tmp",
|
|
}
|
|
self:GetChildren(nodes)
|
|
self.lb_btn_get_tmp.text = "领取排名奖励"
|
|
-- lua_resM:setOutsideImageSprite(self, self.bg_img, GameResPath.GetViewBigBg("child_rank_view_bg"),false)
|
|
local closeWin_callback = function()
|
|
self:Close()
|
|
end
|
|
self.tabWindowComponent = UITabWindow.New(self.transform, {}, nil, closeWin_callback,self.background_wnd, nil, UITabWindow.SizeSmallNoTab, false,nil,true)
|
|
self.tabWindowComponent:SetBackgroundRes("child_rank_view_bg_945_533")
|
|
self.tabWindowComponent:SetTitleText("点赞排行")
|
|
|
|
if not self.money_view then
|
|
self.money_view = UIMoneyView.New(self.con_money)
|
|
end
|
|
self.money_view:SetPosition(0,0)
|
|
self.money_view:SetData()
|
|
self.money_view:ChangeShowFlag("smallWindow")
|
|
|
|
self.img_tip_tmp.text = string.format('宝宝点赞榜每日 %s 结算', HtmlColorTxt( "04:00", ColorUtil.GREEN_DARK))
|
|
end
|
|
|
|
function ChildRankView:AddEvent()
|
|
|
|
self.model:Fire(ChildConst.CHILD_REQ_EVENT, 16507) -- 宝宝点赞排行榜
|
|
|
|
local function updata_child_rank_info_fun(vo)
|
|
self:UpdateView(vo)
|
|
end
|
|
self.updata_child_rank_info = self.model:Bind(ChildConst.UPDATA_CHILD_NICE_RANK_INFO, updata_child_rank_info_fun) --
|
|
|
|
|
|
local function SUCCESS_CHILD_NICE_fun(vo)
|
|
self.model:Fire(ChildConst.CHILD_REQ_EVENT, 16507) -- 成功后刷新
|
|
end
|
|
self.success_child_nice = self.model:Bind(ChildConst.SUCCESS_CHILD_NICE, SUCCESS_CHILD_NICE_fun)
|
|
|
|
local on_click = function ( click_obj )
|
|
if self.closeBtn_obj == click_obj then
|
|
self:Close()
|
|
elseif self.btn_get_obj == click_obj then
|
|
if self.can_get then
|
|
self.model:Fire(ChildConst.CHILD_REQ_EVENT, 16540, 2)
|
|
end
|
|
local child_info = self.model:GetChildInfo( )
|
|
if child_info.yest_reward == 0 then
|
|
Message.show("昨日未上榜")
|
|
elseif child_info.yest_reward == 2 then
|
|
Message.show("已经领过了哟~")
|
|
end
|
|
end
|
|
end
|
|
AddClickEvent(self.closeBtn_obj, on_click)
|
|
AddClickEvent(self.btn_get_obj, on_click)
|
|
|
|
local function update_reward_func()
|
|
self:UpdateRewardRed()
|
|
end
|
|
self:BindEvent(self.model, ChildConst.UPDATE_RANK_REWARD_RED, update_reward_func)
|
|
end
|
|
|
|
function ChildRankView:UpdateView(list)
|
|
|
|
|
|
if TableSize(list.rank_list)<=0 then
|
|
self.none_obj:SetActive(true)
|
|
else
|
|
self.none_obj:SetActive(false)
|
|
|
|
end
|
|
--生成rankitem
|
|
local rank_list = list.rank_list
|
|
--print("=============>>> YiRan:ChildRankView [start:87] rank_list ------------------------------------------")
|
|
--PrintTable(rank_list)
|
|
--print("=============>>> YiRan:ChildRankView [end] ------------------------------------------")
|
|
local sort_func = function ( a, b )
|
|
return a.rank < b.rank
|
|
end
|
|
table.sort(rank_list, sort_func)
|
|
|
|
for k,v in pairs(rank_list) do --my_rank
|
|
local item = self.rank_item_list[k]
|
|
if item == nil then
|
|
item = ChildRankItem.New(self.Content)
|
|
self.rank_item_list[k] = item
|
|
end
|
|
self.rank_item_list[k]:SetData(v)
|
|
end
|
|
--myrankitem
|
|
|
|
if TableSize(list.my_rank) > 0 then
|
|
|
|
local myRank = list.my_rank[1]
|
|
--self.txt_playerName_tmp.text = myRank.name or ""
|
|
|
|
self.txt_childrName_tmp.text = ("宝宝:".. HtmlColorTxt( myRank.child_name or "", ColorUtil.WHITE_DARK))
|
|
self.txt_niceNum_tmp.text = myRank.vote_num or ""
|
|
self.txt_fight_num_tmp.text = "战力:" .. HtmlColorTxt( myRank.role_power or "", ColorUtil.WHITE_DARK)
|
|
-- self.txt_no_rank_none_obj:SetActive(false)
|
|
-- self.txt_no_rank_obj:SetActive(false)
|
|
-- self.img_rank_obj:SetActive(true)
|
|
-- if myRank.rank <= 3 then
|
|
-- lua_resM:setImageSprite(self, self.img_rank_img, "child_asset", "child_rank_png"..myRank.rank)
|
|
-- elseif myRank.rank > 3 then
|
|
-- self.img_rank_obj:SetActive(false)
|
|
-- self.txt_no_rank_none_obj:SetActive(false)
|
|
-- self.txt_no_rank_obj:SetActive(true)
|
|
self.txt_no_rank_tmp.text = string.format("第%s名", myRank.rank)
|
|
-- end
|
|
|
|
else
|
|
-- self.txt_no_rank_obj:SetActive(false)
|
|
-- self.img_rank_obj:SetActive(false)
|
|
-- self.txt_no_rank_none_obj:SetActive(true)
|
|
--self.myRank_obj:SetActive(false)
|
|
self.txt_no_rank_tmp.text = "暂未上榜"
|
|
self.txt_fight_num_tmp.text = "战力:" .. HtmlColorTxt( RoleManager.Instance.mainRoleInfo.fighting or "", ColorUtil.WHITE_DARK)
|
|
self.txt_niceNum_tmp.text = 0
|
|
--self.txt_playerName_tmp.text = RoleManager.Instance.mainRoleInfo.name or ""
|
|
self.txt_childrName_tmp.text = ("宝宝:".. HtmlColorTxt( self.model:GetChildInfo().child_name or "", ColorUtil.WHITE_DARK) )
|
|
end
|
|
|
|
local RoleVo = RoleManager.Instance.mainRoleInfo
|
|
--vip_icon
|
|
-- if not self.mainRole_vip_item then
|
|
-- self.mainRole_vip_item = RoleVipItem.New(self.vip_icon)
|
|
-- end
|
|
-- self.mainRole_vip_item:SetData(RoleVo.vip_flag,RoleVo.sup_vip_type)
|
|
--头像
|
|
|
|
if not self.playHeadItem then
|
|
self.playHeadItem = HeadRoleItem.New(self.role_icon)
|
|
self.playHeadItem:SetItemSize(68,68)
|
|
end
|
|
local head_data = {
|
|
vo = {use_bg = 2, id = RoleVo.role_id, server_id = RoleVo.ser_id, career = 0,
|
|
level = RoleVo.level, sex = RoleVo.sex, turn = RoleVo.turn, board = RoleVo.dress_board,
|
|
picture_ver = RoleVo.picture_ver, picture = RoleVo.picture, profile_photo_id = RoleVo.profile_photo_id},
|
|
}
|
|
self.playHeadItem:SetData(head_data)
|
|
|
|
lua_resM:setImageSprite(self, self.sex_img, "common_asset", RoleVo.sex == 1 and "com_boy" or "com_girl", true)
|
|
if not self.vipItem then
|
|
self.vipItem = RoleVipItem.New(self.vip_img.transform)
|
|
end
|
|
self.vipItem:SetData(RoleVo.vip_flag, RoleVo.sup_vip_type)
|
|
|
|
if RoleVo.vip_flag == 0 and RoleVo.sup_vip_type == 0 then
|
|
self.vip_obj:SetActive(false)
|
|
else
|
|
self.vip_obj:SetActive(true)
|
|
end
|
|
self.name_tmp.text = HtmlColorTxt( " " .. RoleVo.name, "#ffffff")
|
|
SetSizeDelta(self.name, self.name_tmp.preferredWidth + 5, self.name_tmp.preferredHeight)
|
|
---
|
|
local list_reward = {}
|
|
for k,v in pairs( self.model:GetConfigChildVoteReward()) do
|
|
table.insert(list_reward,v)
|
|
end
|
|
local sort_func = function ( a, b )
|
|
return a.rank_low < b.rank_low
|
|
end
|
|
table.sort(list_reward, sort_func)
|
|
|
|
for k,v in pairs(list_reward) do
|
|
local item = self.rank_reward_item_list[k]
|
|
if item == nil then
|
|
item = ChildRankRewardItem.New(self.Content_reward)
|
|
self.rank_reward_item_list[k] = item
|
|
end
|
|
self.rank_reward_item_list[k]:SetData(v,k)
|
|
end
|
|
--[[if not self.item_list_com then
|
|
self.item_list_com = self:AddUIComponent(UI.ItemListCreator)
|
|
end
|
|
local info = {
|
|
data_list = self.model.degree_cfg,
|
|
item_con = self.Content,
|
|
item_class = ChildRankViewItem,
|
|
item_width = 864,
|
|
item_height = 160,
|
|
-- space_x = 0,
|
|
-- space_y = 0,
|
|
start_x = 13.4,
|
|
start_y = -12.5,
|
|
scroll_view = self.ScrollView,
|
|
create_frequency = 0.02,
|
|
on_update_item = function(item, i, v)
|
|
item:SetData(v)
|
|
end,
|
|
}
|
|
self.item_list_com:UpdateItems(info)
|
|
self.item_list_com:ScrollToItem(self.model.degree,-17.5)]]
|
|
|
|
local last_rank = self.model:GetChildInfo().yest_rank
|
|
if last_rank and last_rank ~= 0 then
|
|
self.lb_last_day_rank_tmp.text = "昨日排名:" .. HtmlColorTxt( last_rank, ColorUtil.GREEN_DARK)
|
|
else
|
|
self.lb_last_day_rank_tmp.text = "昨日排名:未上榜"
|
|
end
|
|
self:UpdateRewardRed()
|
|
end
|
|
|
|
function ChildRankView:UpdateRewardRed( )
|
|
-- "myRank/btn_get/lb_btn_get:tmp",
|
|
-- "myRank/btn_get:obj:img",
|
|
-- "myRank/btn_get/btn_get_red:obj",
|
|
local need_red = self.model:GetShowBabyRankReward()
|
|
self.btn_get_red_obj:SetActive(need_red)
|
|
if not need_red then
|
|
SetTMPSharedMaterial(self.lb_btn_get_tmp,
|
|
ShaderTools.TMPSharedMaterialType.FZZZOutlineDarkGrayBtn)
|
|
else
|
|
SetTMPSharedMaterial(self.lb_btn_get_tmp,
|
|
ShaderTools.TMPSharedMaterialType.FZZZOutlineDarkOrangeBtn)
|
|
end
|
|
SetImageGray(self.btn_get_img, not need_red)
|
|
self.can_get = need_red
|
|
end
|
|
|
|
function ChildNiceRecordView:SetCallBack(callBack)
|
|
self.callBack = callBack
|
|
end
|
|
|
|
function ChildRankView:DestroySuccess( )
|
|
|
|
if self.updata_child_rank_info then
|
|
self.model:UnBind(self.updata_child_rank_info)
|
|
self.updata_child_rank_info = nil
|
|
end
|
|
|
|
|
|
if self.success_child_nice then
|
|
self.model:UnBind(self.success_child_nice)
|
|
self.success_child_nice = nil
|
|
end
|
|
|
|
|
|
for i, v in ipairs(self.rank_item_list) do
|
|
v:DeleteMe()
|
|
v = nil
|
|
end
|
|
self.rank_item_list = {}
|
|
|
|
for i, v in ipairs(self.rank_reward_item_list) do
|
|
v:DeleteMe()
|
|
v = nil
|
|
end
|
|
self.rank_reward_item_list = {}
|
|
|
|
if self.playHeadItem then
|
|
self.playHeadItem:DeleteMe()
|
|
self.playHeadItem = nil
|
|
end
|
|
|
|
if self.money_view then
|
|
self.money_view:DeleteMe()
|
|
self.money_view = nil
|
|
end
|
|
|
|
-- if self.mainRole_vip_item then
|
|
-- self.mainRole_vip_item:DeleteMe()
|
|
-- self.mainRole_vip_item = nil
|
|
-- end
|
|
|
|
if self.tabWindowComponent then
|
|
self.tabWindowComponent:DeleteMe()
|
|
self.tabWindowComponent = nil
|
|
end
|
|
if self.vipItem then
|
|
self.vipItem:DeleteMe()
|
|
self.vipItem = nil
|
|
end
|
|
end
|