Files
Main/Assets/GameAssets/Resources/Lua/Logic/MapLogicEx/SZZQLogic/SZZQMapLogic.lua
2025-01-25 04:38:09 +08:00

135 lines
5.3 KiB
Lua
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

------------------------------------------------
--作者: 杨全福
--日期: 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;