|
|
- require("game.proto.603.Require603")
- require("game.csMain.CSMainModel")
- require("game.csMain.CSMainConst")
- -------------------
- require("game.csMain.CSMainBaseView")
- require("game.csMain.CSMainRoleModelItem")
- -------------------
- require("game.csMain.CSMainTaskView")
- require("game.csMain.CSMainTaskItem")
- -------------------
- require("game.csMain.CSMainExploitRankView")
- require("game.csMain.CSMainExploitRankTab")
- require("game.csMain.CSMainExploitRankItem")
- require("game.csMain.CSMainExploitRankTopItem")
- require("game.csMain.CSMainExploitRankDailyRewardView")
- require("game.csMain.CSMainExploitRankDailyRewardItem")
- -------------------
- require("game.csMain.CSMainMilitaryRanksAttrItem")
- require("game.csMain.CSMainMilitaryRanksBaseView")
- require("game.csMain.CSMainMilitaryRanksTab")
- require("game.csMain.CSMainMilitaryRanksDetailsView")
- require("game.csMain.CSMainMilitaryRanksRankView")
- require("game.csMain.CSMainMilitaryRanksRankItem")
- -------------------
- require("game.csMain.CSMainAppointView")
- require("game.csMain.CSMainAppointTab")
- require("game.csMain.CSMainAppointRankItem")
- require("game.csMain.CSMainAppointRoleListItem")
- require("game.csMain.CSMainAppointRoleItem")
- require("game.csMain.CSMainAppointOtherRecordView")
- require("game.csMain.CSMainAppointAllRoleListItem")
- -------------------
- require("game.csMain.CSMainAdvanceNoticeView")
-
- CSMainController = CSMainController or BaseClass(BaseController, true)
- local CSMainController = CSMainController
-
- function CSMainController:__init()
- CSMainController.Instance = self
- self.model = CSMainModel:getInstance()
- self:AddEvents()
- self:RegisterAllProtocal()
- end
-
- function CSMainController:__delete()
- end
-
- function CSMainController:RegisterAllProtocal( )
- self:RegisterProtocal(60300, "Handle60300")
- self:RegisterProtocal(60301, "Handle60301")
- self:RegisterProtocal(60302, "Handle60302")
- self:RegisterProtocal(60303, "Handle60303")
- self:RegisterProtocal(60304, "Handle60304")
- self:RegisterProtocal(60305, "Handle60305")
- self:RegisterProtocal(60306, "Handle60306")
- self:RegisterProtocal(60307, "Handle60307")
- self:RegisterProtocal(60308, "Handle60308")
- self:RegisterProtocal(60309, "Handle60309")
- self:RegisterProtocal(60310, "Handle60310")
- self:RegisterProtocal(60311, "Handle60311")
- self:RegisterProtocal(60312, "Handle60312")
- self:RegisterProtocal(60313, "Handle60313")
- self:RegisterProtocal(60314, "Handle60314")
- self:RegisterProtocal(60315, "Handle60315")
- self:RegisterProtocal(60316, "Handle60316")
- self:RegisterProtocal(60317, "Handle60317")
-
- end
-
- function CSMainController:AddEvents()
- local function onGameStart()
- local function onDelay()
- self.model:Fire(CSMainConst.REQUEST_CCMD_EVENT,60301)
- self.model:Fire(CSMainConst.REQUEST_CCMD_EVENT,60308)
- self.model:Fire(CSMainConst.REQUEST_CCMD_EVENT,60315)
- -- local my_country = KfWorldModel:GetInstance():GetMyCountryId()
- -- if my_country then
- -- self.model:Fire(CSMainConst.REQUEST_CCMD_EVENT,60307, KfWorldModel:GetInstance():GetMyCountryId())--请求一次自己国家的军功榜,用于判断膜拜红点
- -- end
- end
- setTimeout(onDelay, 2.5)
-
- local function delay_method( )
- local my_country = KfWorldModel:GetInstance():GetMyCountryId()
- if my_country then
- self.model:Fire(CSMainConst.REQUEST_CCMD_EVENT,60307, KfWorldModel:GetInstance():GetMyCountryId())--请求一次自己国家的军功榜,用于判断膜拜红点
- end
- end
- setTimeout(delay_method, 5)
- end
- GlobalEventSystem:Bind(EventName.GAME_START, onGameStart)
-
- -- 满足等级后请求信息
- local function onLevelUp(level)
- if level == GetModuleOpenLevel(603) then
- self.model:Fire(CSMainConst.REQUEST_CCMD_EVENT,60301)
- self.model:Fire(CSMainConst.REQUEST_CCMD_EVENT,60308)
- self.model:Fire(CSMainConst.REQUEST_CCMD_EVENT,60315)
- local my_country = KfWorldModel:GetInstance():GetMyCountryId()
- if my_country then
- self.model:Fire(CSMainConst.REQUEST_CCMD_EVENT,60307, KfWorldModel:GetInstance():GetMyCountryId())--请求一次自己国家的军功榜,用于判断膜拜红点
- end
- elseif level == 96 then
- self.model:Fire(CSMainConst.REQUEST_CCMD_EVENT,60315)
- end
- end
- RoleManager.Instance.mainRoleInfo:Bind(EventName.CHANGE_LEVEL, onLevelUp)
-
- --请求信息 i|32 h|16 c|8 l|64 s|字符串
- local function onRequestHandler(...)
- local args_list = {...}
- if args_list[1] == 60300 then
- self:SendFmtToGame(args_list[1])
- elseif args_list[1] == 60301 then
- self:SendFmtToGame(args_list[1])
- elseif args_list[1] == 60304 then
- self:SendFmtToGame(args_list[1],"cc",args_list[2],args_list[3])
- elseif args_list[1] == 60305 then
- self:SendFmtToGame(args_list[1])
- elseif args_list[1] == 60306 then
- self:SendFmtToGame(args_list[1],"l",args_list[2])
- elseif args_list[1] == 60307 or args_list[1] == 60316 then
- self:SendFmtToGame(args_list[1],"c",args_list[2])
- elseif args_list[1] == 60308 then
- self:SendFmtToGame(args_list[1])
- elseif args_list[1] == 60309 then
- self:SendFmtToGame(args_list[1],"l",args_list[2])
- elseif args_list[1] == 60310 then
- self:SendFmtToGame(args_list[1])
- elseif args_list[1] == 60311 then
- self:SendFmtToGame(args_list[1])
- elseif args_list[1] == 60312 then
- self:SendFmtToGame(args_list[1],"c",args_list[2])
- else
- self:SendFmtToGame(args_list[1])
- end
- end
- self.model:Bind(CSMainConst.REQUEST_CCMD_EVENT, onRequestHandler)
-
- --主界面
- local function on_open_cs_main_base_view(is_close)
- if is_close then
- if self.cs_main_base_view then
- self.cs_main_base_view:Close()
- end
- return
- end
- if self.cs_main_base_view == nil then
- self.cs_main_base_view = CSMainBaseView.New()
- end
- self.cs_main_base_view:Open()
- end
- self.model:Bind(CSMainConst.OPEN_CS_MAIN_BASE_VIEW,on_open_cs_main_base_view)
-
- --任务界面
- local function on_open_cs_main_task_view(is_close)
- if is_close then
- if self.cs_main_task_view then
- self.cs_main_task_view:Close()
- end
- return
- end
-
- if self.cs_main_task_view == nil then
- self.cs_main_task_view = CSMainTaskView.New()
- end
-
- --跳到有红点的任务页签去
- local jump_index = 1
- for i=1,3 do
- local red = self.model:GetTaskRedByColor(i)
- if red then
- jump_index = i
- break
- end
- end
-
- self.cs_main_task_view:Open(jump_index)
- end
- self.model:Bind(CSMainConst.OPEN_CS_MAIN_TASK_VIEW,on_open_cs_main_task_view)
-
- --军功排行界面
- local function on_open_cs_main_exploit_rank_view()
- if self.cs_main_exploit_rank_view == nil then
- self.cs_main_exploit_rank_view = CSMainExploitRankView.New()
- end
- self.cs_main_exploit_rank_view:Open()
- end
- self.model:Bind(CSMainConst.OPEN_CS_MAIN_EXPLOIT_RANK_VIEW,on_open_cs_main_exploit_rank_view)
-
- --每日奖励领取界面
- local function on_open_cs_main_exploit_rank_daily_reward_view()
- if self.cs_main_exploit_rank_daily_reward_view == nil then
- self.cs_main_exploit_rank_daily_reward_view = CSMainExploitRankDailyRewardView.New()
- end
- self.cs_main_exploit_rank_daily_reward_view:Open()
- end
- self.model:Bind(CSMainConst.OPEN_CS_MAIN_EXPLOIT_RANK_DAILY_REWARD_VIEW,on_open_cs_main_exploit_rank_daily_reward_view)
-
- --军衔主界面
- local function on_open_cs_main_military_ranks_base_view()
- if self.cs_main_military_ranks_base_view == nil then
- self.cs_main_military_ranks_base_view = CSMainMilitaryRanksBaseView.New()
- end
- self.cs_main_military_ranks_base_view:Open()
- end
- self.model:Bind(CSMainConst.OPEN_CS_MAIN_MILITARY_RANKS_BSAE_VIEW,on_open_cs_main_military_ranks_base_view)
-
- --职位任命界面
- local function on_open_cs_main_appoint_view()
- if self.cs_main_appoint_view == nil then
- self.cs_main_appoint_view = CSMainAppointView.New()
- end
- self.cs_main_appoint_view:Open()
- end
- self.model:Bind(CSMainConst.OPEN_CS_MAIN_APPOINT_VIEW,on_open_cs_main_appoint_view)
-
- --其他职位任命界面
- local function on_open_cs_main_appoint_view(vo)
- if self.cs_main_other_appoint_view == nil then
- self.cs_main_other_appoint_view = CSMainAppointOtherRecordView.New()
- end
- self.cs_main_other_appoint_view:Open(vo)
- end
- self.model:Bind(CSMainConst.OPEN_CS_MAIN_OTHER_APPOINT_VIEW,on_open_cs_main_appoint_view)
-
- --星域世界预告界面
- local function on_open_cs_main_advance_notice_view()
- if self.cs_main_advance_notice_view == nil then
- self.cs_main_advance_notice_view = CSMainAdvanceNoticeView.New()
- end
- self.cs_main_advance_notice_view:Open()
- end
- self.model:Bind(CSMainConst.OPEN_CS_MAIN_ADVANCE_NOTICE_VIEW,on_open_cs_main_advance_notice_view)
-
- --主要的更新红点方法
- local function update_red_dot_by_tab_id_func( tab_id )
- if not tab_id then
- self.model:IsNeedRedAll()
- else
- self.model:IsNeedRed(tab_id)
- end
- local bool = self.model:GetMainRed()
- -- GlobalEventSystem:Fire(EventName.SHOW_FUNCTION_RED_POINT, 603, bool)
- self.model:Fire(CSMainConst.UPDATE_MAIN_RIGHT_TOP_RED)
- end
- self.model:Bind(CSMainConst.UPDATE_RED_DOT,update_red_dot_by_tab_id_func)
-
- local function update_cs_main_goods_num()
- self.model:Fire(CSMainConst.UPDATE_RED_DOT,CSMainConst.RedType.MilitaryRanks)
- end
- self.model:Bind(CSMainConst.UPDATE_CS_MAIN_GOODS_NUM,update_cs_main_goods_num)
-
- local function on_announce_sand_table_red_update( )
- self.model:Fire(CSMainConst.UPDATE_RED_DOT,CSMainConst.RedType.SandTable)
- end
- SandTableModel:getInstance():Bind(SandTableConst.RedDotRefresh, on_announce_sand_table_red_update)
-
-
- local function update_power_change()
- self.model:Fire(CSMainConst.UPDATE_RED_DOT,CSMainConst.RedType.MilitaryRanks)
- end
- self.update_power_change_id = RoleManager.Instance.mainRoleInfo:BindOne("fighting", update_power_change)
- end
-
-
-
-
- --############ 指挥室 ############
- function CSMainController:Handle60300( )
- local vo = SCMD60300.New(true)
- -- print("==WQ==:SCMD60300 [start:183] vo:", vo)
- -- PrintTable(vo)
- -- print("==WQ==:CSMainController [end]")
- self.model:SetCSMainDirectorData(vo)
- self.model:Fire(CSMainConst.UPDATE_CS_MAIN_BASE_VIEW)
- end
-
- --############ 任务单 ############
- function CSMainController:Handle60301( )
- local vo = SCMD60301.New(true)
- -- print("==WQ==:SCMD60301 [start:193] vo:", vo)
- -- PrintTable(vo)
- -- print("==WQ==:CSMainController [end]")
- self.model:SetCSMainTaskData(vo)
- self.model:Fire(CSMainConst.UPDATE_CS_MAIN_TASK_VIEW)
- self.model:Fire(CSMainConst.UPDATE_RED_DOT,CSMainConst.RedType.Active)
- self.model:Fire(CSMainConst.UPDATE_RED_DOT,CSMainConst.RedType.Task)
- self.model:Fire(CSMainConst.UPDATE_RED_DOT,CSMainConst.RedType.MilitaryRanks)
- end
-
- --#############任务更新##########
- function CSMainController:Handle60302( )
- local vo = SCMD60302.New(true)
- self.model:UpdateCSMainTaskData(vo)
- self.model:Fire(CSMainConst.UPDATE_CS_MAIN_TASK_ITEM,vo.id)
- self.model:Fire(CSMainConst.UPDATE_RED_DOT,CSMainConst.RedType.Task)
- end
-
- --#############指定值更新##########
- function CSMainController:Handle60303( )
- local vo = SCMD60303.New(true)
- -- print("==WQ==:SCMD60303 [start:209] vo:", vo)
- -- PrintTable(vo)
- -- print("==WQ==:CSMainController [end]")
- self.model:UpdateCSMainKeyValue(vo)
- self.model:Fire(CSMainConst.UPDATE_RED_DOT,CSMainConst.RedType.MilitaryRanks)
- end
-
- --############ 领取 ############
- function CSMainController:Handle60304( )
- local vo = SCMD60304.New(true)
- if vo.res == 1 then
- self.model:SetCSMainGetRewardData(vo)
- if vo.opty == 0 then
- elseif vo.opty == 1 then
- self.model:Fire(CSMainConst.REFRESH_CS_MAIN_TASK_ITEM_SORT)
- end
- self.model:Fire(CSMainConst.UPDATE_RED_DOT,CSMainConst.RedType.Active)
- self.model:Fire(CSMainConst.UPDATE_RED_DOT,CSMainConst.RedType.Task)
- else
- ErrorCodeShow(vo.res)
- lua_soundM:PlayEffect(self, "fault",false,LuaSoundManager.SOUND_TYPE.UI)
- end
- end
-
- --########军衔进阶#############
- function CSMainController:Handle60305( )
- local vo = SCMD60305.New(true)
- if vo.res == 1 then
- Message.show("军衔进阶成功")
- self.model:UpdateCSMainMilitaryRanksData(vo)
- self.model:Fire(CSMainConst.CS_MAIN_MILITARY_ADVANCE_SUCCESE)
- self.model:Fire(CSMainConst.UPDATE_RED_DOT,CSMainConst.RedType.MilitaryRanks)
- else
- ErrorCodeShow(vo.res)
- lua_soundM:PlayEffect(self, "fault",false,LuaSoundManager.SOUND_TYPE.UI)
- end
- end
-
- --############# 主动查询个人形象(00协议返回空的时候用) #############
- function CSMainController:Handle60306( )
- local vo = SCMD60306.New(true)
- -- print("==WQ==:SCMD60305 [start:233] vo:", vo)
- -- PrintTable(vo)
- -- print("==WQ==:CSMainController [end]")
- if vo and vo.role_id and vo.role_id ~= 0 then
- self.model:UpdateCSMainDirectorData(vo)
- self.model:Fire(CSMainConst.UPDATE_CS_MAIN_BASE_VIEW_ROLE_REQUEST,vo.role_id)
- end
- end
-
- --#########榜单获取##########
- function CSMainController:Handle60307( )
- local vo = SCMD60307.New(true)
- self.model:SetMyCountryExploitRankNum(vo)--记录我的国家军功排行数,如果数量为0,表示不能膜拜,不给红点
- self.model:Fire(CSMainConst.UPDATE_EXPLOIT_RANK_CON,vo)
- self.model:Fire(CSMainConst.UPDATE_RED_DOT,CSMainConst.RedType.WorShip)
- end
-
- --##########榜单页面相关##############
- function CSMainController:Handle60308( )
- local vo = SCMD60308.New(true)
- -- print("==WQ==:CSMainController [start:260] vo:", vo)
- -- PrintTable(vo)
- -- print("==WQ==:CSMainController [end]")
- -- vo.last_rank = 10
- -- vo.day_award = 0
- self.model:UpdateCSMainExploitData(vo)
- self.model:Fire(CSMainConst.UPDATE_EXPLOIT_RANK_DATA_EXTRA)
- self.model:Fire(CSMainConst.UPDATE_RED_DOT,CSMainConst.RedType.DailyReward)
- self.model:Fire(CSMainConst.UPDATE_RED_DOT,CSMainConst.RedType.WorShip)
- end
-
- --##########膜拜##############
- function CSMainController:Handle60309( )
- local vo = SCMD60309.New(true)
- if vo.res == 1 then
- self.model:UpdateCSMainClickWorshipRole(vo)
- self.model:Fire(CSMainConst.UPDATE_WORSHIP_STATE)
- self.model:Fire(CSMainConst.UPDATE_RED_DOT,CSMainConst.RedType.WorShip)
- else
- ErrorCodeShow(vo.res)
- lua_soundM:PlayEffect(self, "fault",false,LuaSoundManager.SOUND_TYPE.UI)
- end
- end
-
- --##########领取##############
- function CSMainController:Handle60310( )
- local vo = SCMD60310.New(true)
- if vo.res == 1 then
- self.model:UpdateRankRewardState()
- self.model:Fire(CSMainConst.UPDATE_EXPLOIT_DAILY_REWARD_VIEW)
- self.model:Fire(CSMainConst.UPDATE_RED_DOT,CSMainConst.RedType.DailyReward)
- else
- ErrorCodeShow(vo.res)
- lua_soundM:PlayEffect(self, "fault",false,LuaSoundManager.SOUND_TYPE.UI)
- end
- end
-
- --#########上期军功排名##########
- function CSMainController:Handle60311( )
- local vo = SCMD60311.New(true)
- self.model:SetLastMilitaryScoreRankData(vo)
- self.model:Fire(CSMainConst.UPDATE_LAST_MILITARY_SCORE_RANK_VIEW,vo)
- end
-
- --#########历史名单############
- function CSMainController:Handle60312( )
- local vo = SCMD60312.New(true)
- self.model:SetAppointData(vo)
- self.model:Fire(CSMainConst.UPDATE_APPOINT_DATA_VIEW,vo.opty)
- end
-
- --#########军衔排行############
- function CSMainController:Handle60313( )
- local vo = SCMD60313.New(true)
- self.model:Fire(CSMainConst.UPDATE_MILITARY_RANKS_RANK_VIEW,vo)
- end
-
- --#########上期团战成绩排行############
- function CSMainController:Handle60314( )
- local vo = SCMD60314.New(true)
- self.model:SetLastGuildWarScoreRankData(vo)
- self.model:Fire(CSMainConst.UPDATE_LAST_GUILD_WAR_SCORE_RANK_VIEW,vo)
- end
-
- --#########预告领取情况############
- function CSMainController:Handle60315( )
- local vo = SCMD60315.New(true)
- -- print("==WQ==:SCMD60315 [start:421] vo:", vo)
- -- PrintTable(vo)
- -- print("==WQ==:CSMainController [end]")
- self.model:SetCSMainAdvanceNoticeRewardData(vo)
- self.model:Fire(CSMainConst.UPDATE_CS_MAIN_ADVANCE_NOTICE_REWARD_STATE)
- self.model:Fire(CSMainConst.UPDATE_RED_DOT,CSMainConst.RedType.NoticeReward)
- end
-
- --#########预告领取############
- function CSMainController:Handle60316( )
- local vo = SCMD60316.New(true)
- if vo.res == 1 then
- self.model:UpdateCSMainAdvanceNoticeRewardData(vo)
- self.model:Fire(CSMainConst.UPDATE_CS_MAIN_ADVANCE_NOTICE_REWARD_STATE)
- self.model:Fire(CSMainConst.UPDATE_RED_DOT,CSMainConst.RedType.NoticeReward)
- else
- ErrorCodeShow(vo.res)
- lua_soundM:PlayEffect(self, "fault",false,LuaSoundManager.SOUND_TYPE.UI)
- end
- end
-
- --#########通知自己国家军功榜前五名变动############
- function CSMainController:Handle60317( )
- local vo = SCMD60317.New(true)
- local my_country = KfWorldModel:GetInstance():GetMyCountryId()
- if my_country then
- self.model:Fire(CSMainConst.REQUEST_CCMD_EVENT,60307, KfWorldModel:GetInstance():GetMyCountryId())--请求一次自己国家的军功榜,用于判断膜拜红点
- end
- end
|