|
|
- CSMainAppointView = CSMainAppointView or BaseClass(BaseView)
- local CSMainAppointView = CSMainAppointView
-
- function CSMainAppointView:__init()
- self.base_file = "csMain"
- self.layout_file = "CSMainAppointView"
- self.layer_name = "Activity"
- self.destroy_imm = true
- self.use_background = true
- self.change_scene_close = true
- self.hide_maincancas = true --是否隐藏主界面
- self.append_to_ctl_queue = false --是否要添加进界面堆栈
- self.need_show_money = false --是否要显示顶部的金钱栏
- self.is_set_zdepth = true
-
- self.model = CSMainModel:getInstance()
-
- self.tab_item_list = {}
-
- self.current_index = nil
-
- 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 CSMainAppointView:Open(index)
- self.current_index = index or 1
- BaseView.Open(self)
- end
-
- function CSMainAppointView:LoadSuccess()
- local nodes = {
- "bg:raw", "closeBtn:obj",
- "tabCon",
- "rankCon:obj",
- "roleScrollView:obj", "roleScrollView/Viewport/roleContent",
- "allRoleScrollView:obj", "allRoleScrollView/Viewport/allRoleContent",
- "rankCon/titleCon/Text_3:tmp", "rankCon/titleCon/Text_2:tmp",
- "rankCon/rankScrollView", "rankCon/rankScrollView/Viewport/rankContent",
- "helpBtn:obj", "des:tmp",
- "empty:obj", "empty/emptyGirl:raw",
- "rankCon/rankBg:img",
- "lastRankBtn:obj", "sandBtn:obj", "csWarBtn:obj",
- "rankConBlock:obj",
- "rankTitleImg:img",
- }
- self:GetChildren(nodes)
-
- SetSizeDelta(self.rankConBlock,ScreenWidth, ScreenHeight)
-
- self.rankCon_obj:SetActive(false)
-
- lua_resM:setOutsideRawImage(self,self.bg_raw,GameResPath.GetViewBigBg("cs_main_appoint_bg"))
- lua_resM:setOutsideRawImage(self, self.emptyGirl_raw, GameResPath.GetRoleBg("setting_girl"))
- lua_resM:setOutsideImageSprite(self, self.rankBg_img, GameResPath.GetCSMainImage("cs_main_last_rank_bg"))
-
- end
-
- function CSMainAppointView:AddEvent()
- local on_click = function ( click_obj )
- if self.closeBtn_obj == click_obj then
- self:Close()
- elseif self.helpBtn_obj == click_obj then
- EventSystem.Fire(GlobalEventSystem,EventName.OPEN_INSTRUCTION_VIEW, 60303)
- elseif self.lastRankBtn_obj == click_obj then
- local is_show = self.rankCon_obj.activeSelf
- self.rankCon_obj:SetActive(not is_show)
- self.rankConBlock_obj:SetActive(not is_show)
- elseif self.rankConBlock_obj == click_obj then
- self.rankCon_obj:SetActive(false)
- self.rankConBlock_obj:SetActive(false)
- elseif self.sandBtn_obj == click_obj then
- SandTableModel:getInstance():Fire(SandTableConst.OPEN_MAIN_VIEW)
- self:Close()
- elseif self.csWarBtn_obj == click_obj then
- --本国团战根据开服天数不同,可能会在同的星期里开,所以要判断一下
- local jump_wday = 6
- for i=1,7 do
- local act_list = GuildModel:getInstance():GetGuildEventByWday(i)
- for k,v in pairs(act_list) do
- if v.module_id == 410 then
- jump_wday = i
- break
- end
- end
- end
- GuildModel:getInstance():Fire(GuildModel.OPEN_GUILD_EVENT_VIEW,410,jump_wday)
- self:Close()
- end
- end
- AddClickEvent(self.closeBtn_obj, on_click)
- AddClickEvent(self.helpBtn_obj, on_click)
- AddClickEvent(self.lastRankBtn_obj, on_click)
- AddClickEvent(self.rankConBlock_obj, on_click)
- AddClickEvent(self.sandBtn_obj, on_click)
- AddClickEvent(self.csWarBtn_obj, on_click)
-
-
- --上期本国团战排行榜
- local function on_update_last_guild_rank_view()
- self:UpdateRankCon(1)
- end
- self:BindEvent(self.model, CSMainConst.UPDATE_LAST_GUILD_WAR_SCORE_RANK_VIEW, on_update_last_guild_rank_view)
-
- --上期军功排行榜
- local function on_update_last_military_score_rank_view()
- self:UpdateRankCon(2)
- end
- self:BindEvent(self.model, CSMainConst.UPDATE_LAST_MILITARY_SCORE_RANK_VIEW, on_update_last_military_score_rank_view)
-
- --任命记录
- local function on_update_appoint_data_view(opty)
- if opty == 1 or opty == 2 then
- self:UpdateRoleList(opty)
- elseif opty == 0 then
- self:UpdateAllRoleList(opty)
- end
- end
- self:BindEvent(self.model, CSMainConst.UPDATE_APPOINT_DATA_VIEW, on_update_appoint_data_view)
- end
-
- function CSMainAppointView:OpenSuccess()
- self:InitTab()
- end
-
- function CSMainAppointView:InitTab( )
- local tab_data = {
- [1] = {name = "官员一览"},
- [2] = {name = "执政官员"},
- [3] = {name = "指挥官员"},
- }
-
- local function call_back(tab_index)
- self:SwitchTab(tab_index)
- end
- for k,v in pairs(self.tab_item_list) do
- v:SetVisible(false)
- end
- for i,v in ipairs(tab_data) do
- local item = self.tab_item_list[i]
- if not item then
- item = CSMainAppointTab.New(self.tabCon)
- self.tab_item_list[i] = item
- end
- item:SetVisible(true)
- item:SetData(v,i,call_back)
- item:SetAnchoredPosition(-2, 41-(i-1)*(74-5))
- end
- for k,v in pairs(self.tab_item_list) do
- v:OnClick(self.current_index)
- end
- end
-
- function CSMainAppointView:UpdateRoleList(opty)
- local appoint_data = self.model:GetAppointData(opty)
- self.empty_obj:SetActive(#appoint_data == 0)
- if not self.item_list_com then
- self.item_list_com = self:AddUIComponent(UI.ItemListCreator)
- end
- self.item_list_com:Reset()
- local info = {
- data_list = appoint_data,
- item_con = self.roleContent,
- item_class = CSMainAppointRoleListItem,
- item_width = 777,
- item_height = 110,
- space_y = 31,
- start_x = 9,
- start_y = -40,
- scroll_view = self.roleScrollView,
- create_frequency = 0.01,
- on_update_item = function(item, i, v)
- item:SetData(v,opty)
- end,
- }
- self.item_list_com:UpdateItems(info)
- end
-
- function CSMainAppointView:UpdateAllRoleList(opty)
- local appoint_data = self.model:GetAppointData(opty)
- self.empty_obj:SetActive(#appoint_data == 0)
- if not self.all_role_item_list_com then
- self.all_role_item_list_com = self:AddUIComponent(UI.ItemListCreator)
- end
- self.all_role_item_list_com:Reset()
- local info = {
- data_list = appoint_data,
- item_con = self.allRoleContent,
- item_class = CSMainAppointAllRoleListItem,
- item_width = 777,
- item_height = 349,
- space_y = 24,
- start_x = 9,
- start_y = -14,
- scroll_view = self.allRoleScrollView,
- create_frequency = 0.01,
- reuse_item_num = 2,
- on_update_item = function(item, i, v)
- item:SetData(v)
- end,
- }
- self.all_role_item_list_com:UpdateItems(info)
- end
-
- function CSMainAppointView:UpdateRankCon(rank_type)
- local rank_data = {}
- if rank_type == 1 then--上期团战成绩排行
- rank_data = self.model:GetLastGuildWarScoreRankData()
- elseif rank_type == 2 then--上期沙盘结算军功排名
- rank_data = self.model:GetLastMilitaryScoreRankData()
- end
-
- if not self.rank_list_com then
- self.rank_list_com = self:AddUIComponent(UI.ItemListCreator)
- end
- self.rank_list_com:Reset()
- local info = {
- data_list = rank_data,
- item_con = self.rankContent,
- item_class = CSMainAppointRankItem,
- item_width = 316,
- item_height = 45,
- -- space_x = 0,
- -- space_y = 0,
- start_x = 1,
- start_y = 0,
- scroll_view = self.rankScrollView,
- create_frequency = 0.01,
- on_update_item = function(item, i, v)
- item:SetData(v,rank_type)
- end,
- }
- self.rank_list_com:UpdateItems(info)
- end
-
- function CSMainAppointView:SwitchTab( index )
- self.current_index = index
-
- if index == 1 then
- lua_resM:setOutsideImageSprite(self, self.rankTitleImg_img, GameResPath.GetCSMainImage("cs_main_appoint_slogan_1",true))
- self.sandBtn_obj:SetActive(false)
- self.csWarBtn_obj:SetActive(false)
- self.lastRankBtn_obj:SetActive(false)
- self.roleScrollView_obj:SetActive(false)
- self.allRoleScrollView_obj:SetActive(true)
- self.model:Fire(CSMainConst.REQUEST_CCMD_EVENT,60312,0)--全部
- elseif index == 2 then
- lua_resM:setOutsideImageSprite(self, self.rankTitleImg_img, GameResPath.GetCSMainImage("cs_main_appoint_slogan_2",true))
- self.Text_2_tmp.text = "社团名"
- self.Text_3_tmp.text = "上期伤害"
- -- self.des_tmp.text = "伤害总量为上期本国团战成绩"
- self.sandBtn_obj:SetActive(false)
- self.csWarBtn_obj:SetActive(true)
- self.lastRankBtn_obj:SetActive(true)
- self.roleScrollView_obj:SetActive(true)
- self.allRoleScrollView_obj:SetActive(false)
- self.model:Fire(CSMainConst.REQUEST_CCMD_EVENT,60312,1)--前三主官
- if self.model.has_request_60314 then
- self:UpdateRankCon(1)
- else
- self.model:Fire(CSMainConst.REQUEST_CCMD_EVENT,60314)--打开界面只请求一次
- end
- elseif index == 3 then
- lua_resM:setOutsideImageSprite(self, self.rankTitleImg_img, GameResPath.GetCSMainImage("cs_main_appoint_slogan_3",true))
- self.Text_2_tmp.text = "角色名"
- self.Text_3_tmp.text = "上期战功"
- -- self.des_tmp.text = "战功为上期沙盘结算时累计军功"
- self.sandBtn_obj:SetActive(true)
- self.csWarBtn_obj:SetActive(false)
- self.lastRankBtn_obj:SetActive(true)
- self.roleScrollView_obj:SetActive(true)
- self.allRoleScrollView_obj:SetActive(false)
- self.model:Fire(CSMainConst.REQUEST_CCMD_EVENT,60312,2)--指挥官
- if self.model.has_request_60311 then
- self:UpdateRankCon(2)
- else
- self.model:Fire(CSMainConst.REQUEST_CCMD_EVENT,60311)--打开界面只请求一次
- end
- end
- end
-
- function CSMainAppointView:DestroySuccess( )
- self.model.has_request_60314 = false
- self.model.has_request_60311 = false
-
- for i, v in ipairs(self.tab_item_list) do
- v:DeleteMe()
- end
- self.tab_item_list = {}
- end
|