require("game.light.LightModel")
|
|
require("game.proto.147.Require147")
|
|
|
|
require("game.light.view.LightSubView")
|
|
require("game.light.view.LightTabItem")
|
|
require("game.light.view.LightAttrItem")
|
|
require("game.light.view.LightAttrItemTwo")
|
|
require("game.light.view.LightAttrItemThree")
|
|
require("game.light.view.LightItem")
|
|
require("game.light.view.LightActiveView")--幻光展示界面
|
|
require("game.light.view.LightSuccessView")
|
|
|
|
-------------------------
|
|
|
|
LightController = LightController or BaseClass(BaseController, true)
|
|
local LightController = LightController
|
|
|
|
function LightController:__init()
|
|
LightController.Instance = self
|
|
self.model = LightModel:GetInstance()
|
|
self:AddEvents()
|
|
self:RegisterAllProtocal()
|
|
|
|
end
|
|
|
|
function LightController:__delete()
|
|
end
|
|
|
|
function LightController:RegisterAllProtocal( )
|
|
--幻光部分
|
|
self:RegisterProtocal(14700, 'handle14700') --幻光基础信息
|
|
self:RegisterProtocal(14701, 'handle14701') --幻光升级
|
|
self:RegisterProtocal(14702, 'handle14702') --幻光幻化
|
|
self:RegisterProtocal(14703, 'handle14703') --幻光激活
|
|
self:RegisterProtocal(14704, 'handle14704') --幻光新数据信息
|
|
self:RegisterProtocal(14708, 'handle14708') --幻光登录天数更新
|
|
end
|
|
|
|
function LightController:AddEvents()
|
|
local function onRequestHandler(...)
|
|
local args = {...}
|
|
if args[1] == 16701 or args[1] == 14701 or args[1] == 14702 or args[1] == 14703 then
|
|
self:SendFmtToGame(args[1], "h", args[2])
|
|
else
|
|
self:SendFmtToGame(args[1])
|
|
end
|
|
end
|
|
self.model:Bind(LightModel.REQUEST_CCMD_EVENT, onRequestHandler)
|
|
|
|
local function gameStartHandler()
|
|
self.model:ResetData()
|
|
local delay = function()
|
|
self.model.is_game_start = true
|
|
if GetModuleIsOpen(147,nil,true) then
|
|
self.model:Fire(LightModel.REQUEST_CCMD_EVENT, 14700)
|
|
end
|
|
end
|
|
setTimeout(delay,1)
|
|
end
|
|
GlobalEventSystem:Bind(EventName.GAME_START, gameStartHandler)
|
|
|
|
local function role_lv_up(level)
|
|
if GetModuleOpenLevel( 147,0,true) == level then
|
|
self.model:Fire(LightModel.REQUEST_CCMD_EVENT, 14700)
|
|
end
|
|
end
|
|
RoleManager.Instance.mainRoleInfo:Bind(EventName.CHANGE_LEVEL, role_lv_up)
|
|
|
|
local function ANS_FINISHED_TASK_LIST( task_id )
|
|
if task_id == Config.Moduleid[147].task_id then
|
|
self.model:Fire(LightModel.REQUEST_CCMD_EVENT, 14700)
|
|
end
|
|
end
|
|
GlobalEventSystem:Bind(TaskEvent.ANS_FINISHED_TASK_LIST,ANS_FINISHED_TASK_LIST)
|
|
|
|
local onOpenLightActiveView = function (cur_select_right)--幻光展示界面
|
|
if self.LightActiveView == nil then
|
|
self.LightActiveView = LightActiveView.New()
|
|
end
|
|
if self.LightActiveView:HasOpen() then
|
|
else
|
|
self.LightActiveView:Open(cur_select_right)
|
|
end
|
|
end
|
|
self.model:Bind(LightModel.OPEN_LIGHT_ACTIVE_VIEW, onOpenLightActiveView)
|
|
|
|
local OPEN_SUCCESS_VIEW = function (cur_select_right, grade, star)--幻光展示界面
|
|
if self.lightsuccessview == nil then
|
|
self.lightsuccessview = LightSuccessView.New()
|
|
self.lightsuccessview:Open(cur_select_right, grade, star)
|
|
end
|
|
end
|
|
self.model:Bind(LightModel.OPEN_SUCCESS_VIEW, OPEN_SUCCESS_VIEW)
|
|
|
|
end
|
|
|
|
--幻光基础信息
|
|
function LightController:handle14700( )
|
|
local scmd = SCMD14700.New(true)
|
|
self.model:SetLoginDay( scmd.days )
|
|
self.model:SetLightInfo( scmd.visus )
|
|
self:CheckLightRedDot()
|
|
self.model:Fire(LightModel.ANS_LIGHT_BASE)
|
|
-------------------------
|
|
local role = Scene.Instance:GetMainRole()
|
|
if role then
|
|
role:RefreshLightEffect()
|
|
end
|
|
-------------------------
|
|
end
|
|
|
|
--幻光升级
|
|
function LightController:handle14701( )
|
|
local scmd = SCMD14701.New(true)
|
|
if scmd.result == 1 then
|
|
Message.show("升级成功")
|
|
GlobalEventSystem:Fire(EventName.PLAY_UI_EFFECT_SOUND,LuaSoundManager.SOUND_UI.SUCCESS)
|
|
self.model:Fire(LightModel.REQUEST_CCMD_EVENT, 14700)
|
|
if scmd.grade > 1 and scmd.lv == 1 then
|
|
self.model:Fire(LightModel.OPEN_SUCCESS_VIEW,scmd.id,scmd.grade,scmd.lv)
|
|
end
|
|
self.model:Fire(LightModel.ANS_LIGHT_UPGRADE,scmd.lv)
|
|
else
|
|
ErrorCodeShow(scmd.result)
|
|
self.model:Fire(LightModel.ANS_LIGHT_UPGRADE)
|
|
end
|
|
end
|
|
|
|
--幻光幻化
|
|
function LightController:handle14702( )
|
|
local scmd = SCMD14702.New(true)
|
|
if scmd.result == 1 then
|
|
GlobalEventSystem:Fire(EventName.PLAY_UI_EFFECT_SOUND,LuaSoundManager.SOUND_UI.SUCCESS)
|
|
if scmd.opty == 1 then
|
|
Message.show("穿戴成功")
|
|
else
|
|
Message.show("取消穿戴")
|
|
end
|
|
self.model:Fire(LightModel.REQUEST_CCMD_EVENT, 14700)
|
|
else
|
|
ErrorCodeShow(scmd.result)
|
|
end
|
|
end
|
|
|
|
--幻光激活
|
|
function LightController:handle14703( )
|
|
local scmd = SCMD14703.New(true)
|
|
if scmd.result == 1 then
|
|
GlobalEventSystem:Fire(EventName.PLAY_UI_EFFECT_SOUND,LuaSoundManager.SOUND_UI.SUCCESS)
|
|
Message.show("激活成功")
|
|
self.model:Fire(LightModel.REQUEST_CCMD_EVENT, 14702,scmd.id)
|
|
SkillManager.Instance:Fire(SkillManager.UPDATE_SKILL_LIST)
|
|
self.model:Fire(LightModel.OPEN_SUCCESS_VIEW,scmd.id,0,0)
|
|
-------------------------
|
|
--触发一下升级特效
|
|
self.model:Fire(LightModel.ANS_LIGHT_UPGRADE,1)
|
|
-------------------------
|
|
else
|
|
ErrorCodeShow(scmd.result)
|
|
end
|
|
end
|
|
|
|
--幻光新数据信息
|
|
function LightController:handle14704( )
|
|
local scmd = SCMD14704.New(true)
|
|
self.model:Fire(LightModel.REQUEST_CCMD_EVENT, 14700)
|
|
GlobalEventSystem:Fire(EventName.GET_DAILY_LIGHT_SKILL)
|
|
end
|
|
|
|
--幻光登录天数更新
|
|
function LightController:handle14708( )
|
|
local scmd = SCMD14708.New(true)
|
|
self.model:SetLoginDay( scmd.days )
|
|
self:CheckLightRedDot()
|
|
self.model:Fire(LightModel.ANS_LIGHT_BASE)
|
|
end
|
|
|
|
function LightController:CheckLightRedDot( )
|
|
local function call_backack( )
|
|
self.model:GetLightAllRed(true)
|
|
-------------------------
|
|
NewMainRoleModel:GetInstance():Fire(NewMainRoleModel.UPDATE_RED_DOT, NewMainRoleModel.TabId.Light)
|
|
end
|
|
TimeManager.GetInstance():StartTime("LightControllerLightCheckRedDotTimeManager", 0.5, call_backack)
|
|
end
|