miduo_client/Assets/ManagedResources/~Lua/Modules/Battle/View/GuideBattlePanel.lua

203 lines
5.8 KiB
Lua
Raw Normal View History

2021-04-21 13:12:04 +08:00
require("Base/BasePanel")
2020-11-01 15:46:48 +08:00
require("Base/Stack")
require("Modules.Battle.Config.PokemonEffectConfig")
local BattleView = require("Modules/Battle/View/BattleView")
2021-03-19 18:14:52 +08:00
local GuideBattleLogic = require("Modules/Battle/View/GuideBattleLogic")
2020-11-01 15:46:48 +08:00
GuideBattlePanel = Inherit(BasePanel)
local this = GuideBattlePanel
local timeCount
local endFunc
local isBack = false --是否为战斗回放
local fightType -- 1关卡 2副本 3限时怪, 5兽潮, 6新关卡, 7公会boss
local orginLayer
--初始化组件(用于子类重写)
function this:InitComponent()
2021-04-21 13:12:04 +08:00
this.spLoader = SpriteLoader.New()
2021-03-15 20:16:03 +08:00
BattleView:InitComponent(self, self.gameObject)
2020-11-01 15:46:48 +08:00
orginLayer = 0
this.BG = Util.GetGameObject(self.gameObject, "BG")
this.UpRoot = Util.GetGameObject(self.gameObject, "UpRoot")
this.Option = Util.GetGameObject(this.UpRoot, "option")
this.DownRoot = Util.GetGameObject(self.gameObject, "DownRoot")
this.roundText = Util.GetGameObject(this.Option, "timeCount"):GetComponent("Text")
this.orderText = Util.GetGameObject(this.Option, "order/text"):GetComponent("Text")
this.BtnTimeScale = Util.GetGameObject(this.DownRoot, "option/BtnTimeScale")
this.ButtonLock = Util.GetGameObject(this.DownRoot, "option/Button/lock")
this.BtnGM = Util.GetGameObject(this.DownRoot, "option/Button")
this.submit = Util.GetGameObject(this.DownRoot, "bg")
this.DefResult = Util.GetGameObject(this.UpRoot, "result")
this.AtkResult = Util.GetGameObject(this.DownRoot, "result")
this.damagePanel = Util.GetGameObject(this.UpRoot, "damage")
this.damageBoxBg = Util.GetGameObject(this.damagePanel, "bg")
this.damageBoxIcon = Util.GetGameObject(this.damagePanel, "bg/iconRoot/icon"):GetComponent("Image")
this.damageBoxLevel = Util.GetGameObject(this.damagePanel, "lv"):GetComponent("Text")
this.damageProgress = Util.GetGameObject(this.damagePanel, "progress/Fill")
this.damageText = Util.GetGameObject(this.damagePanel, "progress/Text"):GetComponent("Text")
end
--绑定事件(用于子类重写)
function this:BindEvent()
Util.AddLongPressClick(this.submit, function()
BattleRecordManager.SubmitBattleRecord()
end, 0.5)
2021-04-25 11:41:15 +08:00
Util.AddClick(this.BtnGM, function ()
if BattleManager.IsCanOperate() and not BattleLogic.IsEnd then
BattleView.EndBattle()
BattleLogic.IsEnd = true
end
end)
2020-11-01 15:46:48 +08:00
end
--添加事件监听(用于子类重写)
function this:AddListener()
end
--移除事件监听(用于子类重写)
function this:RemoveListener()
end
function this:OnSortingOrderChange()
Util.AddParticleSortLayer(this.gameObject, this.sortingOrder - orginLayer)
orginLayer = this.sortingOrder
BattleView:OnSortingOrderChange(this.sortingOrder)
end
--界面打开时调用(用于子类重写)
2021-03-19 18:14:52 +08:00
function this:OnOpen(_fightData, _endFunc, guideType)
GuideBattleLogic:Init(guideType)
2020-11-01 15:46:48 +08:00
BattleView:OnOpen(_fightData)
2021-03-19 18:14:52 +08:00
this.guideType = guideType
2020-11-01 15:46:48 +08:00
endFunc = _endFunc
2021-03-19 18:14:52 +08:00
2020-11-01 15:46:48 +08:00
fightType = BATTLE_TYPE.Test --判定战斗类型
Merge branch 'china/dev-c' into china/ios # Conflicts: # Assets/ManagedResources/ArtFont_en/f_fuxinggaozhao_zida_en.png.meta # Assets/ManagedResources/ArtFont_en/n_niuqichongchong_banner_en.png.meta # Assets/ManagedResources/ArtFont_en/n_niuqichongchong_niuqizhi_en.png.meta # Assets/ManagedResources/ArtFont_en/q_qinlongmibao_banner1_en.png.meta # Assets/ManagedResources/ArtFont_en/r_fabao_guiyuan_en.png.meta # Assets/ManagedResources/ArtFont_en/sl_en.png.meta # Assets/ManagedResources/ArtFont_en/x_xianshizaohuan_wujiangyulan 1_en.png.meta # Assets/ManagedResources/ArtFont_vi/c_3_1_t9_vi.png.meta # Assets/ManagedResources/ArtFont_vi/c_3_2_t9_vi.png.meta # Assets/ManagedResources/ArtFont_vi/c_3_3_t9_vi.png.meta # Assets/ManagedResources/ArtFont_vi/c_3_4_t9_vi.png.meta # Assets/ManagedResources/ArtFont_vi/c_3_6_t9_vi.png.meta # Assets/ManagedResources/ArtFont_vi/c_3_7_t9_vi.png.meta # Assets/ManagedResources/ArtFont_vi/c_3_8_t9_vi.png.meta # Assets/ManagedResources/ArtFont_vi/c_3_9_t9_vi.png.meta # Assets/ManagedResources/ArtFont_vi/n_niuqichongchong_banner_vi.png.meta # Assets/ManagedResources/ArtFont_vi/n_niuqichongchong_niuqizhi_vi.png.meta # Assets/ManagedResources/ArtFont_vi/q_qinlongmibao_banner1_vi.png.meta # Assets/ManagedResources/ArtFont_vi/r_fabao_guiyuan_vi.png.meta # Assets/ManagedResources/ArtFont_vi/sl_vi.png.meta # Assets/ManagedResources/ArtFont_vi/t_tianshumijuan_zhujiemiananniu_2_vi.png.meta # Assets/ManagedResources/ArtFont_vi/t_tianshumijuan_zhujiemiananniu_vi.png.meta # Assets/ManagedResources/ArtFont_vi/w_wj_banner_vi.png.meta # Assets/ManagedResources/Atlas/BattleAtlas/r_zhandou_leiquehei_01.png.meta # Assets/ManagedResources/Atlas/DyAct_Activity7/timelimit_putishushen2.png.meta # Assets/ManagedResources/Atlas/DyAct_XiangYaoDuoBao/ArtFont/t_tongqiangtiebi_banner_zh.jpg.meta # Assets/ManagedResources/Atlas/DynamicActivityAtlas/ArtFont/x_xianshizaohuan_wujiangyulan 1_zh.png.meta # Assets/ManagedResources/Atlas/DynamicActivityAtlas/QiKaiDeSheng/q_qikaidesheng_shenjiang2.png.meta # Assets/ManagedResources/Atlas/DynamicActivityAtlas/XiangLongFuHu/x_xianglongfuhu_shenjiang3.png.meta # Assets/ManagedResources/Atlas/DynamicActivityAtlas/YiShanDaoHai/y_yishandaohai_shenjiang2.png.meta # Assets/ManagedResources/Atlas/DynamicActivityAtlas/YongWangZhiQian/s_yongwangzhiqian_shenjiang2.png.meta # Assets/ManagedResources/Atlas/FirstRechargeAtlas/ArtFont/s_shouchong_100_zh.png.meta # Assets/ManagedResources/Atlas/MainAtlas/ArtFont/r_zjm_huodongicon-congzhi_zh.png.meta # Assets/ManagedResources/Atlas/SupremeHeroAtlas/b_baolishuchu_juesebanzi2.png.meta # Assets/ManagedResources/Atlas/SupremeHeroAtlas/b_baolishuchu_juesebanzi2_gouxuan.png.meta # Assets/ManagedResources/Atlas/TagButtonAtlas/ArtFont/r_huodong_leijichengzhianniu_01_zh.png.meta # Assets/ManagedResources/Atlas/TagButtonAtlas/ArtFont/r_huodong_leijichengzhianniu_zh.png.meta # Assets/ManagedResources/Atlas/TimeLimitSkinAtlas/ArtFont/sl_zh.png.meta # Assets/ManagedResources/BG/t_tapolingxiao_beijingtu.png.meta # Assets/ManagedResources/DynamicAtlas/b_bianhuanmoce_banner_zh.png # Assets/ManagedResources/DynamicAtlas/b_bowenduoshi_banner_zh.png # Assets/ManagedResources/DynamicAtlas/p_pozhengzhuxian_banner_zh.png # Assets/ManagedResources/DynamicAtlas/q_qikaidesheng_banner_zh.png # Assets/ManagedResources/DynamicAtlas/s_yongwangzhiqian_banner_zh.png # Assets/ManagedResources/DynamicAtlas/y_yishandaohai_banner_zh.png # Assets/ManagedResources/EffectResUI/Story/Texture/UI_fuzhou_02.png.meta # Assets/ManagedResources/EffectResUI/Story/Texture/dianjijiekai.png.meta # Assets/ManagedResources/EffectResUI/Story/Texture/star_png.png.meta # Assets/ManagedResources/ResConfigs/ResourcePathConfig.asset # Assets/ManagedResources/~Lua/Common/functions.lua # Assets/ManagedResources/~Lua/Modules/Battle/Logic/BattleLogic.lua # Assets/ManagedResources/~Lua/Modules/Battle/View/DamageResultPanel.lua # Assets/ManagedResources/~Lua/Modules/Battle/View/GuideBattlePanel.lua # Assets/ManagedResources/~Lua/Modules/Battle/View/Unit/EnemyView.lua # Assets/ManagedResources/~Lua/Modules/Chat/ChatPanel.lua # Assets/ManagedResources/~Lua/Modules/Chat/FriendChatPanel.lua # Assets/ManagedResources/~Lua/Modules/CompoundHero/view/CompoundHero_Compound.lua # Assets/ManagedResources/~Lua/Modules/DailyRecharge/DailyRechargePanel.lua # Assets/ManagedResources/~Lua/Modules/DynamicActivity/ActivityMainPanel.lua # Assets/ManagedResources/~Lua/Modules/DynamicActivity/LingShouBaoGe.lua # Assets/ManagedResources/~Lua/Modules/DynamicActivity/LingShowTeHui.lua # Assets/ManagedResources/~Lua/Modules/DynamicActivity/QianKunBox.lua # Assets/ManagedResources/~Lua/Modules/DynamicActivity/SheJiDaDian.lua # Assets/ManagedResources/~Lua/Modules/DynamicActivity/ShengYiTianJiang.lua # Assets/ManagedResources/~Lua/Modules/DynamicActivity/TimeLimitedCall.lua # Assets/ManagedResources/~Lua/Modules/DynamicActivity/XiangYaoDuoBao.lua # Assets/ManagedResources/~Lua/Modules/DynamicActivity/XinJiangLaiXi.lua # Assets/ManagedResources/~Lua/Modules/DynamicActivity/YiJingBaoKu.lua # Assets/ManagedResources/~Lua/Modules/Fight/FightPointPassMainPanel.lua # Assets/ManagedResources/~Lua/Modules/Fight/View/FightPointMapView.lua # Assets/ManagedResources/~Lua/Modules/Formation/FormationPanelV2.lua # Assets/ManagedResources/~Lua/Modules/GeneralPanel/GeneralBigPopup.lua # Assets/ManagedResources/~Lua/Modules/HandBook/HandBookRoleInfoLayout.lua # Assets/ManagedResources/~Lua/Modules/Login/ServerListItem.lua # Assets/ManagedResources/~Lua/Modules/Login/ServerListSelectPanel.lua # Assets/ManagedResources/~Lua/Modules/Main/MainPanel.lua # Assets/ManagedResources/~Lua/Modules/Popup/RewardItemPopup.lua # Assets/ManagedResources/~Lua/Modules/Popup/SkillInfoPopup.lua # Assets/ManagedResources/~Lua/Modules/Ranking/RankingSingleListPanel.lua # Assets/ManagedResources/~Lua/Modules/Recharge/View/EveryDayGift.lua # Assets/ManagedResources/~Lua/Modules/Resolve/View/Resolve_Pokemon.lua # Assets/ManagedResources/~Lua/Modules/RoleInfo/RoleUpStarListPanel.lua # Assets/ManagedResources/~Lua/Modules/SecretBox/SecretBoxBuyOnePanel.lua # Assets/ManagedResources/~Lua/Modules/Shop/ShopBuyPopup.lua # Assets/ManagedResources/~Lua/Modules/SoulPrint/SoulPrintPanel.lua # Assets/ManagedResources/~Lua/Modules/Vip/VipPanelV2.lua # Assets/ManagedResources/~Lua/View/PlayerInfoView.lua
2021-05-19 14:12:37 +08:00
this.BG:GetComponent("Image").sprite = this.spLoader:LoadSprite("r_zhandou_changjing_1005")
2020-11-01 15:46:48 +08:00
2021-04-25 11:41:15 +08:00
this.BtnGM:SetActive(true)
2020-11-01 15:46:48 +08:00
this.ButtonLock:SetActive(false)
this.BtnTimeScale:SetActive(false)
this.damagePanel:SetActive(false)
-- SoundManager.PlayMusic(SoundConfig.BGM_Battle_1, true, function()
2020-11-01 15:46:48 +08:00
SoundManager.PlayMusic(SoundConfig.BGM_Battle_2, false)
-- end)
2020-11-01 15:46:48 +08:00
this.fightResult = nil
-- 清空名字数据
this.DefResult:SetActive(false)
this.AtkResult:SetActive(false)
-- 开始战斗
BattleView:StartBattle()
this.InitPanelData()
end
-- 初始化
function this.InitPanelData()
this.InitOption()
end
function this.InitOption()
--显示倒计时
local curRound, maxRound = BattleLogic.GetCurRound()
2021-03-02 16:53:12 +08:00
this.roundText.text = string.format(Language[10211], curRound, maxRound)
2020-11-01 15:46:48 +08:00
-- 初始化战斗时间,刷新前端显示
Time.timeScale = BATTLE_TIME_SCALE_ONE
end
function this.SwitchTimeScale()
local _scale = BattleManager.GetTimeScale()
local child = this.BtnTimeScale.transform.childCount - 3 -- 3倍速时-2
local s = "x".. math.floor(_scale)
for i=1, child do
local g = this.BtnTimeScale.transform:GetChild(i-1).gameObject
g:SetActive(g.name == s)
end
end
function this.BattleEnd(result)
BattleManager.PauseBattle()
-- 强制停止倍速
Time.timeScale = 1
-- 设置音效播放的速度
SoundManager.SetAudioSpeed(1)
--用一个变量接收最近的战斗结果
this.lastBattleResult = {
result = result,
hpList = {},
drop = {},
}
2020-11-01 15:46:48 +08:00
-- 战斗结束时,如果元素光环面板还开着,则先关闭
if UIManager.IsOpen(UIName.ElementPopup) then
UIManager.ClosePanel(UIName.ElementPopup)
end
-- 检测需要在战斗结束时显示的引导
GuideBattleLogic:OnBattleEnd(function()
-- 直接显示结果
this:ClosePanel()
end)
2020-11-01 15:46:48 +08:00
end
2020-11-01 15:46:48 +08:00
function this.OnOrderChanged(order)
--显示波次
this.orderText.text = string.format("%d/%d", order, BattleLogic.TotalOrder)
end
-- 战斗回合变化回调
this.curRound = 1
function this.OnRoundChanged(round)
-- 轮数变化
this.curRound = round
--显示波次
local curRound, maxRound = BattleLogic.GetCurRound()
2021-03-02 16:53:12 +08:00
this.roundText.text = string.format(Language[10211], curRound, maxRound)
2020-11-01 15:46:48 +08:00
end
-- 角色轮转回调
function this.RoleTurnChange(role)
2021-03-19 18:14:52 +08:00
GuideBattleLogic:RoleTurnChange(this.curRound, role)
2020-11-01 15:46:48 +08:00
end
-- 由BattleView驱动
function this.OnUpdate()
end
--界面关闭时调用(用于子类重写)
function this:OnClose()
BattleView:OnClose()
if endFunc then
endFunc(this.lastBattleResult)
end
end
--界面销毁时调用(用于子类重写)
function this:OnDestroy()
BattleView:OnDestroy()
2021-04-21 13:12:04 +08:00
this.spLoader:Destroy()
2020-11-01 15:46:48 +08:00
end
return GuideBattlePanel