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;
|