------------------------------------------------ --作者: 何健 --日期: 2019-07-22 --文件: JiuTianZFLogic.lua --模块: JiuTianZFLogic --描述: 九天争峰副本逻辑 ------------------------------------------------ local L_TaskData = require("Logic.MapLogicEx.JiuTianZF.JiuTianTaskData") local JiuTianZFLogic = { Parent = nil, --等待开始的时间 WaitStartTime = 0, --剩余时间 RemainTime = 0, --当前击杀的怪物数量 CurMonsterNum = 0, --当前获得的总经验 TotalExp = 0, --任务列表 TaskList = List:New(), --BOSS列表 BossList = List:New(), } function JiuTianZFLogic:OnEnterScene(parent) self.Parent = parent; --设置开关 GameCenter.MapLogicSwitch.CanRide = false; GameCenter.MapLogicSwitch.CanFly = false; GameCenter.MapLogicSwitch.CanRollDoge = true; GameCenter.MapLogicSwitch.CanMandate = true; GameCenter.MapLogicSwitch.CanOpenTeam = false; GameCenter.MapLogicSwitch.ShowNewFunction = false; GameCenter.MapLogicSwitch.UseAutoStrikeBack = true; GameCenter.MapLogicSwitch.CanTeleport = false; GameCenter.MapLogicSwitch.IsCopyMap = true; GameCenter.MapLogicSwitch.IsPlaneCopyMap = false; GameCenter.MapLogicSwitch.HoldFighting = true; --关掉菜单 GameCenter.PushFixEvent(LogicEventDefine.EID_EVENT_CLOSE_MAINMENU); --打开副本主界面 GameCenter.PushFixEvent(UIEventDefine.UIJiuTianCopyMainForm_OPEN, self.Parent.MapCfg.MapId); --进入就开始挂机 GameCenter.MandateSystem:Start(); end function JiuTianZFLogic:OnLeaveScene() GameCenter.PushFixEvent(UIEventDefine.UIJiuTianCopyMainForm_CLOSE); end function JiuTianZFLogic:OnMsgHandle(msg) if msg.MsgID == GameCenter.Network.GetMsgID("MSG_NineDaysFocused.ResOpenTasKPanelReuslt") then --打开任务面板,返回的任务信息 for i = 1, #msg.tasklist do self.TaskList:Add(L_TaskData:New(msg.tasklist[i])) end elseif msg.MsgID == GameCenter.Network.GetMsgID("MSG_NineDaysFocused.ResGetTasKRewardReuslt") then --领取任务奖励结果 if msg.isSucceed == true then end --任务更新 self.TaskList:Clear() for i = 1, #msg.tasklist do self.TaskList:Add(L_TaskData:New(msg.tasklist[i])) end elseif msg.MsgID == GameCenter.Network.GetMsgID("MSG_NineDaysFocused.ResApplyNieDaysReuslt") then --报名结果 if msg.isSucceed == true then end elseif msg.MsgID == GameCenter.Network.GetMsgID("MSG_NineDaysFocused.ResBossHurtInfo") then --boss战场信息 local _bossData = {} self.BossList:Clear() if msg.bosslist then for i = 1, #msg.bosslist do _bossData.DBID = msg.bosslist[i].uid _bossData.CampAhurtPer = msg.bosslist[i].campAhurtPer _bossData.CampBhurtPer = msg.bosslist[i].campBhurtPer self.BossList:Add(_bossData) end end end end function JiuTianZFLogic:Update(dt) if self.WaitStartTime > 0 then self.WaitStartTime = self.WaitStartTime - dt; if self.WaitStartTime < 0 then --超时了,剩余时间做一次超时计算 self.RemainTime = self.RemainTime + self.WaitStartTime; end elseif self.RemainTime > 0 then self.RemainTime = self.RemainTime - dt; end end function JiuTianZFLogic:GetMainUIState() return { [MainFormSubPanel.PlayerHead] = true, --主角头像 [MainFormSubPanel.TargetHead] = true, --目标头像 [MainFormSubPanel.TopMenu] = true, --顶部菜单 [MainFormSubPanel.MiniMap] = true, --小地图 [MainFormSubPanel.FlySwordGrave] = false, --境界 [MainFormSubPanel.TaskAndTeam] = false, --任务和组队 [MainFormSubPanel.Joystick] = true, --摇杆 [MainFormSubPanel.Exp] = true, --经验 [MainFormSubPanel.MiniChat] = true, --小聊天框 [MainFormSubPanel.Skill] = true, --技能 [MainFormSubPanel.SelectPkMode] = true, --选择PK模式 [MainFormSubPanel.FunctionFly] = true, --新功能开启飞行界面 [MainFormSubPanel.FastPrompt] = false, --快速提醒界面 [MainFormSubPanel.FastBts] = true, --快速操作按钮界面 [MainFormSubPanel.Ping] = true, --ping [MainFormSubPanel.SkillWarning] = false, --技能释放警示 [MainFormSubPanel.CustomBtn] = true, --自定义按钮 [MainFormSubPanel.SitDown] = false, --打坐 [MainFormSubPanel.RemotePlayerHead] = false, --远程玩家头像 [MainFormSubPanel.ChangeSkill] = true, --变身技能 } end function JiuTianZFLogic:GetMainLeftUIState() return { [MainLeftSubPanel.Task] = false, --任务分页 [MainLeftSubPanel.Team] = false, --队伍分页 [MainLeftSubPanel.Other] = false, --其他分页 } end return JiuTianZFLogic;