|
|
- require("game.proto.176.Require176")
- require("game.sevenDayTarget.SevenDayTargetModel")
- require("game.sevenDayTarget.SevenDayTargetMainView")--主界面
- require("game.sevenDayTarget.SevenDayTargetTaskItem")--右边的item
- require("game.sevenDayTarget.SevenDayTargetScoreItem")--左下角奖励
- require("game.sevenDayTarget.SevenDayTargetDayItem")--天数tab
-
- SevenDayTargetController = SevenDayTargetController or BaseClass(BaseController)
- local SevenDayTargetController = SevenDayTargetController
-
- function SevenDayTargetController:__init()
- SevenDayTargetController.Instance = self
- self.model = SevenDayTargetModel:getInstance()
- self:RegisterAllProtocals()
- self:AddAllEvents()
- end
-
- function SevenDayTargetController:RegisterAllProtocals( )
- self:RegisterProtocal(17600, "Handler17600") --任务信息
- self:RegisterProtocal(17601, "Handler17601") --领取任务奖励
- self:RegisterProtocal(17602, "Handler17602") --领取积分和技能奖励
- self:RegisterProtocal(17603, "Handler17603") --更新一个任务进度
-
- end
-
- function SevenDayTargetController:AddAllEvents()
- local function request_func(level)
- local delay = function()
- if level then
- if level == Config.Moduleid[176].open_lv then
- self.model:Fire(SevenDayTargetModel.REQUEST_SEVEN_DAY_TARGET_SCMD, 17600)
- end
- else
- if GetModuleIsOpen(176) then
- self.model:Fire(SevenDayTargetModel.REQUEST_SEVEN_DAY_TARGET_SCMD, 17600)
- end
- SevenDayTargetModel:getInstance():Fire(SevenDayTargetModel.UPDATE_SEVEN_DAY_TARGET_BTN)
- end
- end
- setTimeout(delay,2)
- end
- GlobalEventSystem:Bind(EventName.GAME_START, request_func)
- RoleManager.Instance.mainRoleInfo:Bind(EventName.CHANGE_LEVEL, request_func)
-
- local function onRequestHandler(...)
- local args = {...}
- if args[1] == 17601 then
- self:SendFmtToGame(args[1], "chh", args[2], args[3], args[4])
- elseif args[1] == 17602 then
- self:SendFmtToGame(args[1], "ch", args[2], args[3])
- else
- self:SendFmtToGame(args[1])
- end
- end
- self.model:Bind(SevenDayTargetModel.REQUEST_SEVEN_DAY_TARGET_SCMD, onRequestHandler)
-
- local function on_open_seven_day_target_main_view()
- if not self.model:IsSevenDayTargetOpen() then
- Message.show("活动已结束")
- return
- end
- if self.seven_day_target_main_view == nil then
- self.seven_day_target_main_view = SevenDayTargetMainView.New()
- end
- self.seven_day_target_main_view:Open()
- end
- self.model:Bind(SevenDayTargetModel.OPEN_SEVEN_DAY_TARGET_MAIN_VIEW, on_open_seven_day_target_main_view)
- end
-
- -- ########### 任务信息 ##############
- -- protocol=17600
- -- {
- -- c2s{
- -- }
- -- s2c{
- -- login_days:int8 // 当前登录天数
- -- score:int16 // 积分
- -- task_state:array{ // 任务列表
- -- days:int8 // 天数
- -- mod_id:int16 // 模块Id
- -- sub_id:int16 // 子id
- -- progress:int16 // 任务进度
- -- is_receive:int8 // 奖励是否领取 1是|0否
- -- }
-
- -- score_state:array{ // 已领取的积分奖励列表
- -- score_id:int16 // 积分
- -- }
- -- skill_state:array{ // 已领取的技能奖励列表
- -- days:int8 // 天数
- -- }
- -- }
- -- }
-
- function SevenDayTargetController:Handler17600( )
- local vo = SCMD17600.New(true)
- --print('=======Msh:SevenDayTargetController.lua[97] ===TABLE====')
- --PrintTable(vo)
- self.model:SetSevenDayTargetInfo(vo)
- -- if self.model:IsSevenDayTargetOpen() then
- -- -- ActivityIconManager:getInstance():addIcon(176, -1)
- -- else
- -- -- ActivityIconManager:getInstance():deleteIcon(176)
- -- end
- local rest_time = vo.real_time - TimeUtil:getServerTime( )
- if rest_time <= 86400 then
- local function delay_method( )
- -- ActivityIconManager:getInstance():deleteIcon(176)
- SevenDayTargetModel:getInstance():Fire(SevenDayTargetModel.UPDATE_SEVEN_DAY_TARGET_BTN)
- end
- self.delay_close_id = setTimeout(delay_method, rest_time)
- else--可能有人会换号 做个处理吧
- if self.delay_close_id then
- TimerQuest.CancelQuest(GlobalTimerQuest,self.delay_close_id)
- self.delay_close_id = nil
- end
- end
- SevenDayTargetModel:getInstance():Fire(SevenDayTargetModel.UPDATE_SEVEN_DAY_TARGET_BTN)
- end
-
- -- ########### 领取任务奖励 ##############
- -- protocol=17601
- -- {
- -- c2s{
- -- login_days:int8 // 当前登录天数
- -- mod_id:int16 // 模块Id
- -- sub_id:int16 // 子id
- -- }
- -- s2c{
- -- errcode:int32 // 错误码
- -- login_days:int8 // 当前登录天数
- -- mod_id:int16 // 模块Id
- -- sub_id:int16
- -- }
- -- }
-
- function SevenDayTargetController:Handler17601( )
- local vo = SCMD17601.New(true)
- if vo.errcode == 1 then
- Message.show("领取任务奖励成功")
- local data = {
- days = vo.login_days,
- mod_id = vo.mod_id,
- sub_id = vo.sub_id,
- diff = vo.diff,
- }
- -- print("HWR:SevenDayTargetController [start:127] data:", data)
- -- PrintTable(data)
- -- print("HWR:SevenDayTargetController [end]")
- self.model:SetSevenDayTargetOneInfo(data, true)
- else
- ErrorCodeShow(vo.errcode)
- end
- end
-
- -- ########### 领取积分和技能奖励 ##############
- -- protocol=17602
- -- {
- -- c2s{
- -- type:int8 // 1积分奖励|2技能奖励
- -- reward_id:int16 // 积分或者天数
- -- }
- -- s2c{
- -- errcode:int32 // 错误码
- -- type:int8 // 1积分奖励|2技能奖励
- -- reward_id:int16 // 积分或者天数
- -- }
- -- }
-
- function SevenDayTargetController:Handler17602( )
- local vo = SCMD17602.New(true)
- if vo.errcode == 1 then
- self.model:SetSevenDayTargetRewardInfo(vo)
- else
- ErrorCodeShow(vo.errcode)
- end
- end
-
- -- ########### 更新一个任务进度 ##############
- -- protocol=17603
- -- {
- -- c2s{
- -- }
- -- s2c{
- -- score:int16 // 积分
- -- days:int8 // 天数
- -- mod_id:int16 // 模块Id
- -- sub_id:int16 // 子id
- -- progress:int16 // 任务进度
- -- }
- -- }
-
- function SevenDayTargetController:Handler17603( )
- local vo = SCMD17603.New(true)
- -- print("HWR:SevenDayTargetController [start:172] vo:", vo)
- -- PrintTable(vo)
- -- print("HWR:SevenDayTargetController [end]")
- self.model:SetSevenDayTargetOneInfo(vo)
- end
|