|
CSMainMilitaryRanksRankView = CSMainMilitaryRanksRankView or BaseClass(BaseItem)
|
|
local CSMainMilitaryRanksRankView = CSMainMilitaryRanksRankView
|
|
|
|
function CSMainMilitaryRanksRankView:__init()
|
|
self.base_file = "csMain"
|
|
self.layout_file = "CSMainMilitaryRanksRankView"
|
|
self.model = CSMainModel:getInstance()
|
|
|
|
self.mainVo = RoleManager.Instance.mainRoleInfo
|
|
|
|
self:Load()
|
|
end
|
|
|
|
function CSMainMilitaryRanksRankView:Load_callback()
|
|
self.nodes = {
|
|
"myCon/myName:tmp", "myCon/militarySmallIcon:img", "myCon/militaryBigIcon:img",
|
|
"myCon/myVipCon", "myCon/myRankIcon:obj:img", "myCon/myContrayName:tmp", "myCon/mySex:img",
|
|
"ScrollView", "ScrollView/Viewport/Content", "myCon/myRank:tmp",
|
|
"empty:obj", "empty/emptyGirl:raw",
|
|
}
|
|
self:GetChildren(self.nodes)
|
|
|
|
lua_resM:setOutsideRawImage(self, self.emptyGirl_raw, GameResPath.GetRoleBg("setting_girl"))
|
|
|
|
self.myVipItem = RoleVipItem.New(self.myVipCon)
|
|
|
|
|
|
self:AddEvents()
|
|
if self.need_refreshData then
|
|
self:RequesData()
|
|
end
|
|
end
|
|
|
|
function CSMainMilitaryRanksRankView:AddEvents( )
|
|
local function on_update_rank_view(vo)
|
|
self:UpdateRankView(vo)
|
|
end
|
|
self:BindEvent(self.model, CSMainConst.UPDATE_MILITARY_RANKS_RANK_VIEW, on_update_rank_view)
|
|
end
|
|
|
|
function CSMainMilitaryRanksRankView:UpdateRankView(vo)
|
|
local rank_data = vo and vo.ranks or {}
|
|
local sort_func = function ( a, b )
|
|
return a.rank < b.rank
|
|
end
|
|
table.sort(rank_data, sort_func)
|
|
|
|
local final_rank_list = {}
|
|
local max_show_ranks = Config.Legionkv["military_max_rank"].value
|
|
for i=1,max_show_ranks do
|
|
if rank_data[i] then
|
|
table.insert(final_rank_list,rank_data[i])
|
|
end
|
|
end
|
|
|
|
if not self.item_list_com then
|
|
self.item_list_com = self:AddUIComponent(UI.ItemListCreator)
|
|
end
|
|
local info = {
|
|
data_list = final_rank_list,
|
|
item_con = self.Content,
|
|
item_class = CSMainMilitaryRanksRankItem,
|
|
item_width = 905,
|
|
item_height = 50,
|
|
-- space_x = 0,
|
|
-- space_y = 0,
|
|
start_x = 1.5,
|
|
start_y = -1.5,
|
|
scroll_view = self.ScrollView,
|
|
create_frequency = 0.01,
|
|
on_update_item = function(item, i, v)
|
|
item:SetData(v)
|
|
end,
|
|
}
|
|
self.item_list_com:UpdateItems(info)
|
|
|
|
self.empty_obj:SetActive(#rank_data==0)
|
|
|
|
|
|
self.myVipItem:SetData(self.mainVo.vip_flag,self.mainVo.sup_vip_type)
|
|
self.myName_tmp.text = GetCSLongName(self.mainVo.name,self.mainVo.server_num)
|
|
local sex_res = self.mainVo.sex == 1 and "com_boy" or "com_girl"
|
|
lua_resM:setImageSprite(self, self.mySex_img, "common_asset", sex_res, true)
|
|
SetAnchoredPositionX(self.mySex, -228+self.myName_tmp.preferredWidth+20)
|
|
if vo.my_rank == 0 then
|
|
self.myRankIcon_obj:SetActive(false)
|
|
self.myRank_tmp.text = "未上榜"
|
|
elseif vo.my_rank >= 1 and vo.my_rank <= 3 then
|
|
lua_resM:setImageSprite(self, self.myRankIcon_img, "csMain_asset","cs_main_rank_"..vo.my_rank,true)
|
|
self.myRankIcon_obj:SetActive(true)
|
|
self.myRank_tmp.text = ""
|
|
else
|
|
self.myRankIcon_obj:SetActive(false)
|
|
self.myRank_tmp.text = vo.my_rank
|
|
end
|
|
local my_country_id = KfWorldModel:GetInstance():GetMyCountryId() and KfWorldModel:GetInstance():GetMyCountryId() or 1
|
|
local my_country_name = KfWorldModel:GetInstance():GetContrayNameById(my_country_id)
|
|
self.myContrayName_tmp.text = my_country_name
|
|
|
|
local my_military_ranks = self.model:GetCSMainMilitaryRanks()
|
|
lua_resM:setOutsideImageSprite(self, self.militarySmallIcon_img, GameResPath.GetMilitaryImage("military_ranks_"..my_military_ranks), true)
|
|
-- local high_military_ranks = self.model:GetCSMainHighMilitaryRanks(my_military_ranks)
|
|
-- lua_resM:setOutsideImageSprite(self, self.militaryBigIcon_img, GameResPath.GetCSMainImage("military_ranks_big_icon_"..high_military_ranks), true)
|
|
end
|
|
|
|
function CSMainMilitaryRanksRankView:RequesData( )
|
|
self.model:Fire(CSMainConst.REQUEST_CCMD_EVENT,60313)
|
|
end
|
|
|
|
function CSMainMilitaryRanksRankView:SetData()
|
|
if self.is_loaded then
|
|
self.need_refreshData = false
|
|
self:RequesData()
|
|
else
|
|
self.need_refreshData = true
|
|
end
|
|
end
|
|
|
|
function CSMainMilitaryRanksRankView:__delete( )
|
|
if self.myVipItem then
|
|
self.myVipItem:DeleteMe()
|
|
self.myVipItem = nil
|
|
end
|
|
end
|