262 lines
9.2 KiB
Lua
262 lines
9.2 KiB
Lua
|
----- 副本 -----
|
|||
|
local CarbonFormation = {}
|
|||
|
local this = CarbonFormation
|
|||
|
local trialMapData = ConfigManager.GetConfig(ConfigName.TrialConfig)
|
|||
|
local gameConfig = ConfigManager.GetConfig((ConfigName.GameSetting))
|
|||
|
|
|||
|
local _PanelType = {
|
|||
|
[1] = PanelType.Main,
|
|||
|
[2] = PanelType.Main,
|
|||
|
[3] = PanelType.EliteCarbon
|
|||
|
}
|
|||
|
--- 是否需要切换编队的功能
|
|||
|
this.IsNeedChangeFormation = true
|
|||
|
|
|||
|
--- 逻辑初始化
|
|||
|
function this.Init(root, curMapId)
|
|||
|
this.root = root
|
|||
|
this.curMapId = curMapId
|
|||
|
this.InitView()
|
|||
|
end
|
|||
|
local index = 0
|
|||
|
--- 获取需要显示的编队id
|
|||
|
function this.GetFormationIndex()
|
|||
|
if CarbonManager.difficulty == CARBON_TYPE.ENDLESS then
|
|||
|
index = FormationTypeDef.FORMATION_ENDLESS_MAP
|
|||
|
else
|
|||
|
FormationManager.curFormationIndex = FormationTypeDef.FORMATION_NORMAL
|
|||
|
index = FormationTypeDef.FORMATION_NORMAL
|
|||
|
end
|
|||
|
|
|||
|
return index
|
|||
|
end
|
|||
|
-- 扫荡按钮
|
|||
|
--- btn1点击回调事件
|
|||
|
function this.On_BtnLeft_Click()
|
|||
|
-- this.root.SetOneKeyGo()
|
|||
|
-- this.root.SetOneKeyCarBonGo()
|
|||
|
--以前的换成的一键上阵
|
|||
|
|
|||
|
if CarbonManager.difficulty == CARBON_TYPE.ENDLESS then
|
|||
|
-- if this.root.order>=1 then
|
|||
|
-- --保存编队
|
|||
|
-- FormationManager.RefreshFormation(this.root.curFormationIndex, this.root.choosedList,
|
|||
|
-- FormationManager.formationList[this.root.curFormationIndex].teamPokemonInfos)
|
|||
|
-- PopupTipPanel.ShowTip("保存编队成功!")
|
|||
|
-- else
|
|||
|
-- PopupTipPanel.ShowTip("未上阵神将,无法保存阵容!")
|
|||
|
-- end
|
|||
|
-- return
|
|||
|
this.root.SetOneKeyGo()
|
|||
|
end
|
|||
|
-- 刷新扫荡数据--应该是没了
|
|||
|
-- this.root.ShowStartMopUpInfoData()
|
|||
|
-- -- 显示扫荡界面
|
|||
|
-- this.root.mopUpGo:SetActive(true)
|
|||
|
-- PlayUIAnim( this.root.mopUpGo)
|
|||
|
end
|
|||
|
|
|||
|
--- btn2点击回调事
|
|||
|
-- local itemType = {
|
|||
|
-- [1] = 27,
|
|||
|
-- [3] = 28,
|
|||
|
-- }
|
|||
|
|
|||
|
--编队了i去掉死亡的英雄
|
|||
|
function this.RrefreshFormation()
|
|||
|
-- if CarbonManager.difficulty ~= CARBON_TYPE.ENDLESS then return end
|
|||
|
-- local tempList = {}
|
|||
|
-- local curTeam = EndLessMapManager.formation
|
|||
|
|
|||
|
-- for i = 1, #curTeam do
|
|||
|
-- local roleData = curTeam[i]
|
|||
|
-- -- 如果队员没死翘翘了
|
|||
|
-- local curRoleHp = EndLessMapManager.GetHeroLeftBlood(roleData.heroId)
|
|||
|
-- if curRoleHp > 0 then
|
|||
|
-- -- 编队界面数据重组
|
|||
|
-- table.insert(tempList, roleData)
|
|||
|
-- end
|
|||
|
-- end
|
|||
|
-- FormationManager.formationList[FormationTypeDef.FORMATION_ENDLESS_MAP].teamHeroInfos = tempList
|
|||
|
end
|
|||
|
|
|||
|
-- 进入地图
|
|||
|
function this.On_BtnRight_Click()
|
|||
|
--保存编队
|
|||
|
if this.root.order >= 1 then
|
|||
|
--保存编队
|
|||
|
FormationManager.RefreshFormation(
|
|||
|
this.root.curFormationIndex,
|
|||
|
this.root.choosedList,
|
|||
|
this.root.tibu,
|
|||
|
{
|
|||
|
supportId = SupportManager.GetFormationSupportId(this.root.curFormationIndex),
|
|||
|
adjutantId = AdjutantManager.GetFormationAdjutantId(this.root.curFormationIndex)
|
|||
|
},
|
|||
|
nil,
|
|||
|
this.root.choosedFormationId
|
|||
|
)
|
|||
|
table.sort(FormationManager.formationList[this.root.curFormationIndex].teamHeroInfos,function(a,b)
|
|||
|
return a.position < b.position
|
|||
|
end)
|
|||
|
EndLessMapManager.formation = FormationManager.formationList[this.root.curFormationIndex].teamHeroInfos
|
|||
|
EndLessMapManager.SetCanUseHeroNew()
|
|||
|
this.root:ClosePanel()
|
|||
|
else
|
|||
|
PopupTipPanel.ShowTip(string.format(GetLanguageStrById(10701), 1))
|
|||
|
return
|
|||
|
end
|
|||
|
|
|||
|
-- 无尽副本
|
|||
|
if CarbonManager.difficulty == CARBON_TYPE.ENDLESS then
|
|||
|
if MapManager.Mapping then--在地图里
|
|||
|
if this.root.order >= 1 then
|
|||
|
FormationManager.RefreshFormation(FormationTypeDef.FORMATION_AoLiaoer, this.root.choosedList,this.root.tibu,
|
|||
|
{supportId = SupportManager.GetFormationSupportId(this.root.curFormationIndex),
|
|||
|
adjutantId = AdjutantManager.GetFormationAdjutantId(this.root.curFormationIndex)},
|
|||
|
nil,
|
|||
|
this.root.choosedFormationId)
|
|||
|
PopupTipPanel.ShowTipByLanguageId(10713)
|
|||
|
else
|
|||
|
PopupTipPanel.ShowTipByLanguageId(10712)
|
|||
|
end
|
|||
|
else
|
|||
|
|
|||
|
this.EnterMapbyType(CarbonManager.difficulty)--, itemId)
|
|||
|
end
|
|||
|
end
|
|||
|
|
|||
|
--+=======================================
|
|||
|
|
|||
|
|
|||
|
-- if this.root.order>=1 then
|
|||
|
-- --保存编队
|
|||
|
-- FormationManager.RefreshFormation(this.root.curFormationIndex, this.root.choosedList,
|
|||
|
-- FormationManager.formationList[this.root.curFormationIndex].teamPokemonInfos)
|
|||
|
-- else
|
|||
|
-- PopupTipPanel.ShowTip(string.format("编队至少上阵%d个神将", 1))
|
|||
|
-- return
|
|||
|
-- end
|
|||
|
-- -- 判断当前选择的副本类型
|
|||
|
-- local itemId = itemType[CarbonManager.difficulty]
|
|||
|
|
|||
|
-- 无尽副本
|
|||
|
-- if CarbonManager.difficulty == CARBON_TYPE.ENDLESS then
|
|||
|
-- if #FormationManager.GetFormationByID(401).teamHeroInfos == 0 then
|
|||
|
-- PopupTipPanel.ShowTip("未上阵神将,无法保存阵容!")
|
|||
|
-- return
|
|||
|
-- end
|
|||
|
-- else
|
|||
|
-- if #FormationManager.formationList[FormationManager.curFormationIndex].teamHeroInfos == 0 then
|
|||
|
|
|||
|
-- PopupTipPanel.ShowTip("未上阵神将,无法保存阵容!")
|
|||
|
-- return
|
|||
|
-- end
|
|||
|
-- end
|
|||
|
|
|||
|
|
|||
|
|
|||
|
-- 判断挑战次数
|
|||
|
-- if CarbonManager.difficulty == CARBON_TYPE.NORMAL then -- 普通副本
|
|||
|
-- if BagManager.GetItemCountById(itemId) <= 0 and CarbonManager.GetNormalState(this.curMapId)then
|
|||
|
-- PopupTipPanel.ShowTip("剧情副本剩余次数为0!")
|
|||
|
-- return
|
|||
|
-- end
|
|||
|
-- elseif CarbonManager.difficulty == CARBON_TYPE.HERO then -- 英雄副本
|
|||
|
-- if BagManager.GetItemCountById(itemId) <= 0 then
|
|||
|
-- PopupTipPanel.ShowTip("精英副本剩余次数为0!")
|
|||
|
-- UIManager.OpenPanel(UIName.QuickPurchasePanel, { type = UpViewRechargeType.EliteCarbonTicket })
|
|||
|
-- return
|
|||
|
-- end
|
|||
|
-- end
|
|||
|
-- if CarbonManager.difficulty == CARBON_TYPE.NORMAL or CarbonManager.difficulty == CARBON_TYPE.HERO then
|
|||
|
-- -- 战斗力判断
|
|||
|
-- if this.root.formationPower <CarbonManager.recommendFightAbility[this.curMapId] then
|
|||
|
-- MsgPanel.ShowTwo("当前队伍战力小于推荐战力,战斗可能会有失败风险。确定是否要继续进入副本?", function()
|
|||
|
-- end, function()
|
|||
|
-- -- 开始挑战
|
|||
|
-- this.EnterMapbyType(CarbonManager.difficulty, itemId)
|
|||
|
-- end, "取消", "确定"
|
|||
|
-- )
|
|||
|
-- else
|
|||
|
-- this.EnterMapbyType(CarbonManager.difficulty, itemId)
|
|||
|
-- end
|
|||
|
-- else
|
|||
|
|
|||
|
-- this.EnterMapbyType(CarbonManager.difficulty, itemId)
|
|||
|
-- end
|
|||
|
|
|||
|
end
|
|||
|
|
|||
|
-- 根据不同的副本类型进入地图
|
|||
|
function this.EnterMapbyType(type)--, itemId)
|
|||
|
if type == CARBON_TYPE.NORMAL or type == CARBON_TYPE.HERO then
|
|||
|
MapManager.curMapId = this.curMapId
|
|||
|
elseif type == CARBON_TYPE.ENDLESS then
|
|||
|
MapManager.curMapId = EndLessMapManager.openMapId
|
|||
|
end
|
|||
|
|
|||
|
local index = CarbonManager.difficulty == CARBON_TYPE.ENDLESS and FormationTypeDef.FORMATION_ENDLESS_MAP or FormationManager.curFormationIndex
|
|||
|
NetManager.MapInfoRequest(MapManager.curMapId, function()
|
|||
|
MapManager.isReloadEnter = false
|
|||
|
|
|||
|
SwitchPanel.OpenPanel(UIName.MapPanel)
|
|||
|
end,MapManager.curCarbonType)
|
|||
|
end
|
|||
|
|
|||
|
--- 关闭界面事件
|
|||
|
function this.OnCloseBtnClick()
|
|||
|
this.root:ClosePanel()
|
|||
|
end
|
|||
|
|
|||
|
-- 初始化界面显示
|
|||
|
function this.InitView()
|
|||
|
if CarbonManager.difficulty == 2 then
|
|||
|
this.TrialCarbon()
|
|||
|
elseif CarbonManager.difficulty == 1 or CarbonManager.difficulty == 3 then
|
|||
|
this.NormalCarbon()
|
|||
|
elseif CarbonManager.difficulty == 4 then
|
|||
|
this.EndLessCarbon()
|
|||
|
end
|
|||
|
|
|||
|
-- 初始化编队数据
|
|||
|
this.IniFormationSet(CarbonManager.difficulty)
|
|||
|
-- this.root.UpView:OnOpen({ showType = UpViewOpenType.ShowLeft, panelType = PanelType.Main})--_PanelType[CarbonManager.difficulty] })
|
|||
|
end
|
|||
|
|
|||
|
--
|
|||
|
function this.IniFormationSet(type)
|
|||
|
this.IsNeedChangeFormation = type ~= CARBON_TYPE.ENDLESS
|
|||
|
end
|
|||
|
|
|||
|
-- 试炼副本设置
|
|||
|
function this.TrialCarbon()
|
|||
|
this.root.bg:SetActive(true)
|
|||
|
this.root.btn_1:SetActive(false)
|
|||
|
this.root.btn_2:SetActive(true)
|
|||
|
this.root.mobTip:SetActive(false)
|
|||
|
this.root.eliteTip:SetActive(false)
|
|||
|
Util.SetGray(this.root.btn_1, true)
|
|||
|
this.root.btn_2_lab.text = GetLanguageStrById(10725)
|
|||
|
end
|
|||
|
|
|||
|
-- 无尽副本设置
|
|||
|
function this.EndLessCarbon()
|
|||
|
this.root.bg:SetActive(true)
|
|||
|
this.root.btnLeft:SetActive(true)
|
|||
|
this.root.btnRight:SetActive(true)
|
|||
|
if MapManager.Mapping then
|
|||
|
this.root.btnLeftTxt.text = GetLanguageStrById(10743)
|
|||
|
this.root.btnRightTxt.text = GetLanguageStrById(10726)
|
|||
|
else
|
|||
|
this.root.btnLeftTxt.text = GetLanguageStrById(10743)
|
|||
|
this.root.btnRightTxt.text = GetLanguageStrById(10724)
|
|||
|
-- 进入副本显示设置
|
|||
|
MapManager.isCarbonEnter = true
|
|||
|
end
|
|||
|
|
|||
|
this.root.formTip:SetActive(true)
|
|||
|
this.root.formTip:GetComponent("Text").text = GetLanguageStrById(10727) .. gameConfig[1].EndlessMinLevel .. GetLanguageStrById(10728)
|
|||
|
end
|
|||
|
|
|||
|
return this
|