135 lines
5.3 KiB
Lua
135 lines
5.3 KiB
Lua
------------------------------------------------
|
||
--作者: 杨全福
|
||
--日期: 2019-05-07
|
||
--文件: SZZQMapLogic.lua
|
||
--模块: SZZQMapLogic
|
||
--描述: 圣战之启副本逻辑
|
||
------------------------------------------------
|
||
|
||
local SZZQMapLogic = {
|
||
--父逻辑系统
|
||
Parent = nil,
|
||
--剩余时间
|
||
RemainTime = 0.0,
|
||
--同步的时间
|
||
SyncTime = 0.0,
|
||
SyncRemainTime = 0.0,
|
||
--副本ID
|
||
CurCopyMapDataID = 0,
|
||
}
|
||
|
||
function SZZQMapLogic: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 = false;
|
||
GameCenter.MapLogicSwitch.CampIcons = nil;
|
||
GameCenter.MapLogicSwitch.ShowServerID = true
|
||
GameCenter.MapLogicSwitch.MaxSkillVfxCount = 5
|
||
|
||
--关掉小地图功能
|
||
GameCenter.MainFunctionSystem:SetFunctionVisible(FunctionStartIdCode.AreaMap, false);
|
||
--关掉菜单
|
||
GameCenter.PushFixEvent(LogicEventDefine.EID_EVENT_CLOSE_MAINMENU);
|
||
--关掉进入界面
|
||
GameCenter.PushFixEvent(UIEventDefine.UISZZQEnterForm_CLOSE);
|
||
|
||
--设置特殊的阵营Icon,用于展示到头顶
|
||
local _compCfg = DataConfig.DataGlobal[1314];
|
||
if _compCfg ~= nil then
|
||
local _compIconTable = {}
|
||
local _compIcons = Utils.SplitStrByTableS(_compCfg.Params);
|
||
for i = 1, #_compIcons do
|
||
_compIconTable[_compIcons[i][1]] = _compIcons[i][2];
|
||
end
|
||
GameCenter.MapLogicSwitch:SetCampIcons(_compIconTable);
|
||
end
|
||
|
||
--进入就开始挂机
|
||
GameCenter.MandateSystem:Start();
|
||
end
|
||
|
||
function SZZQMapLogic:OnLeaveScene()
|
||
--打开小地图功能
|
||
GameCenter.MainFunctionSystem:SetFunctionVisible(FunctionStartIdCode.AreaMap, true);
|
||
--关掉副本主界面
|
||
GameCenter.PushFixEvent(UIEventDefine.UISZZQCopyMainForm_CLOSE);
|
||
--阵营icon设置为空
|
||
GameCenter.MapLogicSwitch:SetCampIcons(nil);
|
||
end
|
||
|
||
--更新
|
||
function SZZQMapLogic:Update(dt)
|
||
if self.RemainTime > 0.0 then
|
||
self.RemainTime = self.SyncRemainTime - (Time.GetRealtimeSinceStartup() - self.SyncTime)
|
||
end
|
||
end
|
||
|
||
--处理协议
|
||
function SZZQMapLogic:OnMsgHandle(msg)
|
||
if msg.MsgID == GameCenter.Network.GetMsgID("MSG_copyMap.ResCopymapNeedTime") then
|
||
--副本时间
|
||
self.RemainTime = msg.EndTime;
|
||
self.SyncRemainTime = msg.EndTime;
|
||
self.SyncTime = Time.GetRealtimeSinceStartup()
|
||
self.CurCopyMapDataID = msg.modelId;
|
||
elseif msg.MsgID == GameCenter.Network.GetMsgID("MSG_copyMap.ResTeamCampWar") then
|
||
--副本信息
|
||
GameCenter.PushFixEvent(UIEventDefine.UISZZQCopyMainForm_OPEN, msg);
|
||
elseif msg.MsgID == GameCenter.Network.GetMsgID("MSG_copyMap.ResTeamCampWarRank") then
|
||
--排名信息
|
||
GameCenter.PushFixEvent(UIEventDefine.UISZZQRankForm_OPEN, msg);
|
||
elseif msg.MsgID == GameCenter.Network.GetMsgID("MSG_copyMap.ResTeamCampWarEndInfo") then
|
||
--屏蔽物品使用
|
||
GameCenter.GetNewItemSystem.PauseGetNewItemTips = true
|
||
--主角准备退出
|
||
GameCenter.MapLogicSwitch:DoPlayerExitPrepare();
|
||
--结算协议
|
||
GameCenter.PushFixEvent(UIEventDefine.UISZZQResultForm_OPEN, msg);
|
||
end
|
||
end
|
||
|
||
function SZZQMapLogic:GetMainUIState()
|
||
return {
|
||
[MainFormSubPanel.PlayerHead] = true, --主角头像
|
||
[MainFormSubPanel.TargetHead] = true, --目标头像
|
||
[MainFormSubPanel.TopMenu] = true, --顶部菜单
|
||
[MainFormSubPanel.MiniMap] = true, --小地图
|
||
[MainFormSubPanel.FlySwordGrave] = true, --境界
|
||
[MainFormSubPanel.TaskAndTeam] = false, --任务和组队
|
||
[MainFormSubPanel.Joystick] = true, --摇杆
|
||
[MainFormSubPanel.Exp] = true, --经验
|
||
[MainFormSubPanel.MiniChat] = true, --小聊天框
|
||
[MainFormSubPanel.Skill] = true, --技能
|
||
[MainFormSubPanel.SelectPkMode] = true, --选择PK模式
|
||
[MainFormSubPanel.FunctionFly] = true, --新功能开启飞行界面
|
||
[MainFormSubPanel.FastPrompt] = true, --快速提醒界面
|
||
[MainFormSubPanel.FastBts] = true, --快速操作按钮界面
|
||
[MainFormSubPanel.Ping] = true, --ping
|
||
[MainFormSubPanel.SkillWarning] = false, --技能释放警示
|
||
[MainFormSubPanel.CustomBtn] = true, --自定义按钮
|
||
[MainFormSubPanel.SitDown] = false, --打坐
|
||
[MainFormSubPanel.RemotePlayerHead] = true, --远程玩家头像
|
||
[MainFormSubPanel.ChangeSkill] = true, --变身技能
|
||
}
|
||
end
|
||
|
||
function SZZQMapLogic:GetMainLeftUIState()
|
||
return {
|
||
[MainLeftSubPanel.Task] = false, --任务分页
|
||
[MainLeftSubPanel.Team] = false, --队伍分页
|
||
[MainLeftSubPanel.Other] = false, --其他分页
|
||
}
|
||
end
|
||
|
||
return SZZQMapLogic; |