From 03107d240ab18f5b3939920e3aeabf2864a28e25 Mon Sep 17 00:00:00 2001 From: jiaoyangna <17610272109@lianjingshidai.com> Date: Tue, 21 Jul 2020 10:42:20 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BD=A9=E8=BE=95=E5=AE=9D=E9=95=9C=E6=8F=90?= =?UTF-8?q?=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../~Lua/Common/GlobalDefine.lua | 11 +- .../ManagedResources/~Lua/Common/Managers.lua | 2 +- .../ManagedResources/~Lua/Data/ConfigData.lua | 2 + .../~Lua/Modules/Carbon/CarbonTypePanelV3.lua | 154 ++++++++++++++++++ .../Modules/Carbon/CarbonTypePanelV3.lua.meta | 7 + .../Modules/Carbon/XuanYuanMirrorManager.lua | 21 ++- .../Modules/Carbon/XuanYuanMirrorPanel.lua | 41 +---- .../Carbon/XuanYuanMirrorPanelList.lua | 8 +- .../View/XuanYuanMirrorFormation.lua | 75 +++++++++ .../View/XuanYuanMirrorFormation.lua.meta | 9 + .../~Lua/Modules/Main/MainPanel.lua | 1 - data_execl/base_data/RaceTowerConfig.xlsx | Bin 11664 -> 12333 bytes 12 files changed, 274 insertions(+), 57 deletions(-) create mode 100644 Assets/ManagedResources/~Lua/Modules/Carbon/CarbonTypePanelV3.lua create mode 100644 Assets/ManagedResources/~Lua/Modules/Carbon/CarbonTypePanelV3.lua.meta create mode 100644 Assets/ManagedResources/~Lua/Modules/Formation/View/XuanYuanMirrorFormation.lua create mode 100644 Assets/ManagedResources/~Lua/Modules/Formation/View/XuanYuanMirrorFormation.lua.meta diff --git a/Assets/ManagedResources/~Lua/Common/GlobalDefine.lua b/Assets/ManagedResources/~Lua/Common/GlobalDefine.lua index 4b628b082e..f41ec7ad10 100644 --- a/Assets/ManagedResources/~Lua/Common/GlobalDefine.lua +++ b/Assets/ManagedResources/~Lua/Common/GlobalDefine.lua @@ -1158,12 +1158,11 @@ FUNCTION_OPEN_TYPE = { DAILYCHALLENGE_EXP=68,--每日经验副本 DAILYCHALLENGE_HERODEBRIS=69,--每日角色碎片副本 DAILYCHALLENGE_TALISMAN=70,--每日法宝副本 - DAILYCHALLENGE_SOULPRINT=71,--每日魂印副本 - XUANYUAN_MIRROR=74,--妖灵宝镜 - MAGIC_MIRROR=75,--妖灵宝镜 - PEOPLE_MIRROR=76,--人杰宝镜 - BUDDHIST_MIRROR=77,--佛禅宝镜 - TAOIST_MIRROR=78,--道玄宝镜 + DAILYCHALLENGE_SOULPRINT=71,--每日魂印副本 + PEOPLE_MIRROR=74,--人杰宝镜 + BUDDHIST_MIRROR=75,--佛禅宝镜 + MAGIC_MIRROR=76,--妖灵宝镜 + TAOIST_MIRROR=77,--道玄宝镜 } TaskGetBtnIconDef = { diff --git a/Assets/ManagedResources/~Lua/Common/Managers.lua b/Assets/ManagedResources/~Lua/Common/Managers.lua index 5ed84906f9..f6a9d81647 100644 --- a/Assets/ManagedResources/~Lua/Common/Managers.lua +++ b/Assets/ManagedResources/~Lua/Common/Managers.lua @@ -164,7 +164,7 @@ local ManagerNames = { "Guild/DeathPos/DeathPosManager", --天宫秘宝管理器 "TreasureOfHeaven/TreasureOfHeavenManager", - + "Carbon/XuanYuanMirrorManager", --!!!!红点管理(尽量放在最后)!!!!-- diff --git a/Assets/ManagedResources/~Lua/Data/ConfigData.lua b/Assets/ManagedResources/~Lua/Data/ConfigData.lua index d9a771de83..da58429fa4 100644 --- a/Assets/ManagedResources/~Lua/Data/ConfigData.lua +++ b/Assets/ManagedResources/~Lua/Data/ConfigData.lua @@ -154,6 +154,8 @@ ConfigName = { TrialGameConfig="TrialGameConfig", FakeBattle = "FakeBattle", ArenaBattleReward = "ArenaBattleReward", + RaceTowerConfig = "RaceTowerConfig", + RaceTowerRewardConfig = "RaceTowerRewardConfig", } require "Framework/GameDataBase" diff --git a/Assets/ManagedResources/~Lua/Modules/Carbon/CarbonTypePanelV3.lua b/Assets/ManagedResources/~Lua/Modules/Carbon/CarbonTypePanelV3.lua new file mode 100644 index 0000000000..c31ed8345d --- /dev/null +++ b/Assets/ManagedResources/~Lua/Modules/Carbon/CarbonTypePanelV3.lua @@ -0,0 +1,154 @@ +require("Base/BasePanel") +CarbonTypePanelV3 = Inherit(BasePanel) +local this = CarbonTypePanelV3 +local hasFresh = false +local orginLayer = 0 +--初始化组件(用于子类重写) +function CarbonTypePanelV3:InitComponent() + + this.btnSenro = Util.GetGameObject(self.gameObject, "btnRoot/circle/root/DailyCarbonBtn") -- 森罗 + this.btnXuanyuan = Util.GetGameObject(self.gameObject, "btnRoot/circle/root/eliteRoot") -- 轩辕 + Util.GetGameObject(self.gameObject, "btnRoot/circle/root/normalRoot"):SetActive(false) + Util.GetGameObject(self.gameObject, "btnRoot/circle/root/trialRoot"):SetActive(false) + + this.effect = Util.GetGameObject(self.gameObject, "CarbonTypePanel_effect") + this.wind = Util.GetGameObject(self.gameObject, "CarbonTypePanel_effect/juneng_chenggong/GameObject") + + orginLayer = 0 + + --头像、战力 + this.level = Util.GetGameObject(self.gameObject, "BgRoot/LeftUp/headBox/lvFrame/lv"):GetComponent("Text") + this.playName = Util.GetGameObject(self.gameObject, "BgRoot/LeftUp/headBox/name"):GetComponent("Text") + this.expSliderValue = Util.GetGameObject(self.gameObject, "BgRoot/LeftUp/headBox/exp"):GetComponent("Slider") + this.headBox = Util.GetGameObject(self.gameObject, "BgRoot/LeftUp/headBox") + this.headPos = Util.GetGameObject(self.gameObject, "BgRoot/LeftUp/headBox/headpos") + this.headRedpot = Util.GetGameObject(self.gameObject, "BgRoot/LeftUp/headBox/redpot") + this.teamPower = Util.GetGameObject(self.gameObject, "BgRoot/LeftUp/powerBtn/value"):GetComponent("Text") + this.UpView = SubUIManager.Open(SubUIConfig.UpView, self.gameObject.transform) + + -- 特权 + this.vipPrivilegeBtn = Util.GetGameObject(self.gameObject, "BgRoot/LeftUp/vipPrivilege/vipPrivilegeBtn") + this.vipLevelText = Util.GetGameObject(this.vipPrivilegeBtn, "bg/vip"):GetComponent("Image") + this.vipRedPoint = Util.GetGameObject(self.gameObject, "BgRoot/LeftUp/vipPrivilege/redPoint") + screenAdapte(this.vipPrivilegeBtn) + + this.AnimRoot = Util.GetGameObject(self.gameObject, "btnRoot/circle/root") +end + + +local index = 1 +--绑定事件(用于子类重写) +function CarbonTypePanelV3:BindEvent() + BindRedPointObject(RedPointType.VipPrivilege, this.vipRedPoint) + + -- 森罗 + Util.AddClick(this.btnSenro, function() + if ActTimeCtrlManager.SingleFuncState(30) then + CarbonManager.difficulty = 2 + local trialDataConfig = ConfigManager.GetConfig(ConfigName.TrialConfig) + + if MapTrialManager.curTowerLevel > 10000 then + MapManager.curMapId = MapTrialManager.GetSurprisedLevelMapId() + else + MapManager.curMapId = trialDataConfig[MapTrialManager.curTowerLevel].MapId + end + NetManager.MapInfoRequest(MapManager.curMapId, FormationTypeDef.FORMATION_DREAMLAND, function(msg) + MapManager.isReloadEnter = false + MapTrialManager.firstEnter = true + MapManager.SetViewSize(20)--设置视野范围(明雷形式) + MapManager.curAreaId =FormationTypeDef.FORMATION_DREAMLAND + MapManager.trialHeroInfo=msg.infos + SwitchPanel.OpenPanel(UIName.MapPanel) + end) + -- local curMapId = trialDataConfig[MapTrialManager.curTowerLevel].MapId + -- UIManager.OpenPanel(UIName.FormationPanelV2, FORMATION_TYPE.CARBON, curMapId) + -- UIManager.OpenPanel(UIName.TrialCarbonPanel) + -- RedPointManager.PlayerPrefsSetStr(PlayerManager.uid .. "Trial", 1) + -- CheckRedPointStatus(RedPointType.EpicExplore_OpenCarbon) + -- this.RefreshOpenText(CARBON_TYPE.TRIAL, FUNCTION_OPEN_TYPE.TRIAL) + -- FunctionOpenMananger.CleadNewText(FUNCTION_OPEN_TYPE.TRIAL) + LogBlue(Language[11163]) + else + PopupTipPanel.ShowTip(ActTimeCtrlManager.GetFuncTip(FUNCTION_OPEN_TYPE.TRIAL)) + end + end) + + -- 轩辕 + Util.AddClick(this.btnXuanyuan, function() + UIManager.OpenPanel(UIName.XuanYuanMirrorPanel) + end) + + Util.AddClick(this.headBox, function () + UIManager.OpenPanel(UIName.SettingPanel) + end) + BindRedPointObject(RedPointType.Setting, this.headRedpot) + + Util.AddClick(this.vipPrivilegeBtn, function() + UIManager.OpenPanel(UIName.VipPanelV2) + end) +end + +function CarbonTypePanelV3:OnOpen() + this.UpView:OnOpen({ showType = UpViewOpenType.ShowRight, panelType = PanelType.Main }) +end + +--界面打开时调用(用于子类重写) +function CarbonTypePanelV3:OnShow(...) + -- 音效 + SoundManager.PlayMusic(SoundConfig.BGM_Carbon) + -- 播放动画 + + this.FreshPlayerInfo() + this.SetPlayerHead() + this.PlayScaleAnim() +end + +-- 刷新玩家信息显示 +function this.FreshPlayerInfo() + this.vipLevelText.sprite = VipManager.SetVipLevelImg() + this.level.text = PlayerManager.level + this.expSliderValue.value = PlayerManager.exp / PlayerManager.userLevelData[PlayerManager.level].Exp + this.playName.text = PlayerManager.nickName + this.teamPower.text = FormationManager.GetFormationPower(FormationManager.curFormationIndex) +end + +-- 设置头像 +function this.SetPlayerHead() + if not this.playerHead then + this.playerHead = SubUIManager.Open(SubUIConfig.PlayerHeadView, this.headPos.transform) + end + this.playerHead:SetHead(PlayerManager.head) + this.playerHead:SetFrame(PlayerManager.frame) + this.playerHead:SetScale(Vector3.one * 0.9) + this.playerHead:SetPosition(Vector3.New(-5, 0, 0)) + +end + +function this:OnSortingOrderChange() + Util.AddParticleSortLayer(this.effect, self.sortingOrder - orginLayer) + Util.AddParticleSortLayer(this.wind, self.sortingOrder - orginLayer) + Util.AddParticleSortLayer(this.vipPrivilegeBtn, self.sortingOrder - orginLayer) + + orginLayer = self.sortingOrder +end + +function this.PlayScaleAnim() + local isOpen = FunctionOpenMananger.GetRootState(PanelTypeView.Carbon) + if isOpen then + PlayUIAnim(this.AnimRoot) + else + PlayUIAnimBack(this.AnimRoot) + end +end + +--界面关闭时调用(用于子类重写) +function CarbonTypePanelV3:OnClose() +end + +--界面销毁时调用(用于子类重写) +function CarbonTypePanelV3:OnDestroy() + hasFresh = false + SubUIManager.Close(this.UpView) +end + +return CarbonTypePanelV3 \ No newline at end of file diff --git a/Assets/ManagedResources/~Lua/Modules/Carbon/CarbonTypePanelV3.lua.meta b/Assets/ManagedResources/~Lua/Modules/Carbon/CarbonTypePanelV3.lua.meta new file mode 100644 index 0000000000..48b1183c24 --- /dev/null +++ b/Assets/ManagedResources/~Lua/Modules/Carbon/CarbonTypePanelV3.lua.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 3cdf0420109cf49458e9c6b3af585251 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ManagedResources/~Lua/Modules/Carbon/XuanYuanMirrorManager.lua b/Assets/ManagedResources/~Lua/Modules/Carbon/XuanYuanMirrorManager.lua index f7ddea76a4..f14b694f29 100644 --- a/Assets/ManagedResources/~Lua/Modules/Carbon/XuanYuanMirrorManager.lua +++ b/Assets/ManagedResources/~Lua/Modules/Carbon/XuanYuanMirrorManager.lua @@ -5,20 +5,20 @@ local this = XuanYuanMirrorManager local levelData = {} function this.Initialize() - + this.InitMirrorData() end --前端表 function this.GetMirrorData(_type) + _type = _type - 73 if levelData[_type] then return levelData[_type] end - this.InitMirrorData(_type) end -function this.InitMirrorData(_type) +function this.InitMirrorData() levelData = {} - for k,v in pairs(raceTowerConfig) do + for k,v in ipairs(raceTowerConfig) do if not levelData[v.Type] then levelData[v.Type] = {} end @@ -31,10 +31,11 @@ function this.InitMirrorData(_type) LogGreen("v.TeamRules:"..#v.TeamRules) data.teamRules = v.TeamRules data.condition = string.format("需要上阵%s名%s系神将",data.teamRules[1][2],this.PropertyName(data.teamRules[1][1])) + data.power = v.FightForce + data.rewardList = {} --概率奖励 local tempConfig = ConfigManager.GetConfigData(ConfigName.RewardGroup,v.Reward) - LogGreen("ShowItem:"..#tempConfig.ShowItem) - data.rewardList = {} + LogGreen("ShowItem:"..#tempConfig.ShowItem) for i=1, #tempConfig.ShowItem do table.insert(data.rewardList,{id = tempConfig.ShowItem[i][1],num = tempConfig.ShowItem[i][2],israte = true}) end @@ -44,10 +45,12 @@ function this.InitMirrorData(_type) table.insert(data.rewardList,{id = v.RewardView[i][1],num = v.RewardView[i][2]}) end --首通奖励 - LogGreen("FirstRewardView:"..#v.FirstRewardView) - for i=1, #v.FirstRewardView do - table.insert(data.rewardList,{id = v.FirstRewardView[i][1],num = v.FirstRewardView[i][2],isFirst = true}) + tempConfig = ConfigManager.GetConfigData(ConfigName.RewardGroup,v.FirstReward) + LogGreen("ShowItem:"..#tempConfig.ShowItem) + for i=1, #tempConfig.ShowItem do + table.insert(data.rewardList,{id = tempConfig.ShowItem[i][1],num = tempConfig.ShowItem[i][2],isFirst = true}) end + data.state = -1 table.insert(levelData[v.Type],data) end end diff --git a/Assets/ManagedResources/~Lua/Modules/Carbon/XuanYuanMirrorPanel.lua b/Assets/ManagedResources/~Lua/Modules/Carbon/XuanYuanMirrorPanel.lua index 586da21c04..55430709b0 100644 --- a/Assets/ManagedResources/~Lua/Modules/Carbon/XuanYuanMirrorPanel.lua +++ b/Assets/ManagedResources/~Lua/Modules/Carbon/XuanYuanMirrorPanel.lua @@ -18,14 +18,6 @@ function this:InitComponent() this.btnClose = Util.GetGameObject(self.gameObject, "btnRoot/btnBack") this.remainTimes = Util.GetGameObject(self.gameObject, "remainTimes") :GetComponent("Text") - -- 四个新图标 - this.newText = { - [1] = Util.GetGameObject(this.btnYaoling, "Image"), - [2] = Util.GetGameObject(this.btnRenjie, "Image"), - [3] = Util.GetGameObject(this.btnFochan, "Image"), - [4] = Util.GetGameObject(this.btnDaoxuan, "Image"), - } - this.effect = Util.GetGameObject(self.gameObject, "CarbonTypePanel_effect") this.wind = Util.GetGameObject(self.gameObject, "CarbonTypePanel_effect/juneng_chenggong/GameObject") @@ -74,7 +66,7 @@ function this:BindEvent() end function this:BtnAction(_type) if ActTimeCtrlManager.SingleFuncState(_type) then - UIManager.OpenPanel(UIName.HelpPopup,_type,XuanYuanMirrorManager.GetMirrorData(_type)) + UIManager.OpenPanel(UIName.XuanYuanMirrorPanelList,_type,XuanYuanMirrorManager.GetMirrorData(_type)) else PopupTipPanel.ShowTip(ActTimeCtrlManager.GetFuncTip(_type)) end @@ -99,9 +91,9 @@ end --界面打开时调用(用于子类重写) function this:OnShow(...) Util.SetGray(this.btnYaoling, not ActTimeCtrlManager.SingleFuncState(FUNCTION_OPEN_TYPE.MAGIC_MIRROR)) - Util.SetGray(this.btnHero, not ActTimeCtrlManager.SingleFuncState(FUNCTION_OPEN_TYPE.PEOPLE_MIRROR)) + Util.SetGray(this.btnRenjie, not ActTimeCtrlManager.SingleFuncState(FUNCTION_OPEN_TYPE.PEOPLE_MIRROR)) Util.SetGray(this.btnFochan, not ActTimeCtrlManager.SingleFuncState(FUNCTION_OPEN_TYPE.BUDDHIST_MIRROR)) - Util.SetGray(this.btnLegend, not ActTimeCtrlManager.SingleFuncState(FUNCTION_OPEN_TYPE.TAOIST_MIRROR)) + Util.SetGray(this.btnDaoxuan, not ActTimeCtrlManager.SingleFuncState(FUNCTION_OPEN_TYPE.TAOIST_MIRROR)) this.remainTimes = "今日剩余次数:"..5 -- 音效 @@ -109,7 +101,6 @@ function this:OnShow(...) -- 播放动画 this:PlayAni() - this.SetOpenText() this.PlayScaleAnim() end @@ -122,16 +113,8 @@ end function this:PlayAni() - - -- 玩家没有资格开启 - this.timerRoot:SetActive(false) - if not ActTimeCtrlManager.IsQualifiled(46) then - return - end - -- 启动定时器 this.StartCountTime() - -- 开门音效 if not this.isPlayDoorAudio then this.isPlayDoorAudio = true @@ -141,10 +124,6 @@ function this:PlayAni() end end, 1.3):Start() end - -- 动画播放完才显示时间 - Timer.New(function () - this.timerRoot:SetActive(true) - end, 2.5):Start() end function this.PlayScaleAnim() @@ -171,7 +150,7 @@ function this.FreshIconShow(id) this.refreshTimer = nil this.refreshTimer = Timer.New(function () - Util.SetGray(this.btnLegend, not ActTimeCtrlManager.SingleFuncState(46)) + Util.SetGray(this.btnDaoxuan, not ActTimeCtrlManager.SingleFuncState(46)) this.StartCountTime() end, 1) this.refreshTimer:Start() @@ -183,18 +162,6 @@ function this:OnClose() this.isPlayDoorAudio = false end -function this.SetOpenText() - this.newText[1]:SetActive(FunctionOpenMananger.GetModuleOpen(FUNCTION_OPEN_TYPE.MAGIC_MIRROR)) - this.newText[2]:SetActive(FunctionOpenMananger.GetModuleOpen(FUNCTION_OPEN_TYPE.PEOPLE_MIRROR)) - this.newText[3]:SetActive(FunctionOpenMananger.GetModuleOpen(FUNCTION_OPEN_TYPE.BUDDHIST_MIRROR)) - this.newText[4]:SetActive(FunctionOpenMananger.GetModuleOpen(FUNCTION_OPEN_TYPE.TAOIST_MIRROR)) -end - --- 刷新显示 -function this.RefreshOpenText(carbonType, openId) - this.newText[carbonType]:SetActive(FunctionOpenMananger.GetModuleOpen(openId)) -end - --界面销毁时调用(用于子类重写) function this:OnDestroy() ClearRedPointObject(RedPointType.Magic_Mirror) diff --git a/Assets/ManagedResources/~Lua/Modules/Carbon/XuanYuanMirrorPanelList.lua b/Assets/ManagedResources/~Lua/Modules/Carbon/XuanYuanMirrorPanelList.lua index 40e7a322c9..390b95fb16 100644 --- a/Assets/ManagedResources/~Lua/Modules/Carbon/XuanYuanMirrorPanelList.lua +++ b/Assets/ManagedResources/~Lua/Modules/Carbon/XuanYuanMirrorPanelList.lua @@ -26,8 +26,9 @@ function this:InitComponent() mirrors[FUNCTION_OPEN_TYPE.BUDDHIST_MIRROR] = Util.GetGameObject(self.gameObject,"fuochan") mirrors[FUNCTION_OPEN_TYPE.TAOIST_MIRROR] = Util.GetGameObject(self.gameObject,"daoxuan") - this.remainTimesTip = Util.GetGameObject(self.gameObject,"Panel/remainTimesTip") : GetGameObject("Text") - this.btnBack = Util.GetGameObject(self.gameObject,"Panel/BackBtn") : GetGameObject("Text") + this.remainTimesTip = Util.GetGameObject(self.gameObject,"Panel/remainTimesTip"): GetComponent("Text") + this.vipTips = Util.GetGameObject(self.gameObject,"Panel/vipTips") : GetComponent("Text") + this.btnBack = Util.GetGameObject(self.gameObject,"Panel/BackBtn") : GetComponent("Text") this.levelPre = Util.GetGameObject(self.gameObject,"Panel/Scroll/Pre") local v21 = Util.GetGameObject(self.gameObject, "Panel/Scroll"):GetComponent("RectTransform").rect @@ -154,7 +155,8 @@ end --界面打开时调用(用于子类重写) function this:OnShow(...) - this.remainTimesTip = "剩余时间:5天23小时(激活特权可增加次数)" + this.remainTimesTip.text = "剩余时间:5天23小时" + this.vipTips.text = "(激活特权可增加次数)" this:SwitchView() end diff --git a/Assets/ManagedResources/~Lua/Modules/Formation/View/XuanYuanMirrorFormation.lua b/Assets/ManagedResources/~Lua/Modules/Formation/View/XuanYuanMirrorFormation.lua new file mode 100644 index 0000000000..2dc0ee488f --- /dev/null +++ b/Assets/ManagedResources/~Lua/Modules/Formation/View/XuanYuanMirrorFormation.lua @@ -0,0 +1,75 @@ +----- 副本 ----- +local XuanYuanMirrorFormation = {} +local this = XuanYuanMirrorFormation + +--- 逻辑初始化 +function this.Init(root) + this.root = root + this.InitView() + end + + -- 初始化界面显示 +function this.InitView() + + -- 初始化编队数据 + this.IniFormationSet(CarbonManager.difficulty) + + this.root.UpView:OnOpen({ showType = UpViewOpenType.ShowLeft, panelType = _PanelType[CarbonManager.difficulty] }) +end + +--- 获取需要显示的编队id +function this.GetFormationIndex() + local index = 0 + + return index +end + +--- btn1点击回调事件 +function this.On_Btn1_Click() + if this.root.order>=1 then + --保存编队 + FormationManager.RefreshFormation(this.root.curFormationIndex, this.root.choosedList, + FormationManager.formationList[this.root.curFormationIndex].teamPokemonInfos) + PopupTipPanel.ShowTip(Language[10713]) + else + PopupTipPanel.ShowTip(Language[10714]) + end +end + +-- 进入地图 +function this.On_Btn2_Click() + 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(Language[10701], 1)) + return + end + -- 判断当前选择的副本类型 + local itemId = itemType[CarbonManager.difficulty] + + -- 判断挑战次数 + + -- 战斗力判断 + + this.EnterMapbyType(CarbonManager.difficulty, itemId) +end + +-- 根据不同的副本类型进入地图 +function this.EnterMapbyType(type, itemId) + SwitchPanel.OpenPanel(UIName.MapPanel) +end + +--- 关闭界面事件 +function this.OnCloseBtnClick() + this.root:ClosePanel() +end + + + +function this.IniFormationSet(type) + +end + +return this \ No newline at end of file diff --git a/Assets/ManagedResources/~Lua/Modules/Formation/View/XuanYuanMirrorFormation.lua.meta b/Assets/ManagedResources/~Lua/Modules/Formation/View/XuanYuanMirrorFormation.lua.meta new file mode 100644 index 0000000000..863dbb3779 --- /dev/null +++ b/Assets/ManagedResources/~Lua/Modules/Formation/View/XuanYuanMirrorFormation.lua.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 6224b412c8f14724f9d96ee4c50777f2 +timeCreated: 1558578726 +licenseType: Pro +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ManagedResources/~Lua/Modules/Main/MainPanel.lua b/Assets/ManagedResources/~Lua/Modules/Main/MainPanel.lua index 3c56912b19..af911ed9fe 100644 --- a/Assets/ManagedResources/~Lua/Modules/Main/MainPanel.lua +++ b/Assets/ManagedResources/~Lua/Modules/Main/MainPanel.lua @@ -654,7 +654,6 @@ function this:BindEvent() end) Util.AddClick(this.btnColorfulWorld, function() UIManager.OpenPanel(UIName.CarbonTypePanelV3) - this.ScenceBtnClick(FUNCTION_OPEN_TYPE.XUANYUAN_MIRROR) end) Util.AddClick(this.btnFenjie, function() JumpManager.GoJump(24001) diff --git a/data_execl/base_data/RaceTowerConfig.xlsx b/data_execl/base_data/RaceTowerConfig.xlsx index 329e1d12a408d7ca5f9d296d14a4153a8679895b..e796ef522e1a359447fb5a008073c8d7e26c79f7 100644 GIT binary patch literal 12333 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 literal 11664 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