【七界试炼】增加怪物详情界面

dev_chengFeng
ZhangBiao 2021-09-22 19:38:16 +08:00
parent 042df03091
commit 32585cec01
9 changed files with 61691 additions and 143 deletions

View File

@ -2477,9 +2477,9 @@ EXPEDITON_POPUP_TYPE={
Monster=3,--普通 精英 boss
Trail=4,--试炼
Greed = 5,--贪婪
Monster = 6,--心魔试炼
Monster = 8,--心魔试炼
MonsterXinMo = 6,--心魔试炼
FourElementMonster = 7,-- 四灵试炼
QiJieShiLianMonster = 8,--七界试炼怪物界面
}

View File

@ -17,6 +17,8 @@ local contentScripts = {
[6]= {view=require("Modules/Expedition/View/MonsterCampFormationInfo"),panelName="MonsterCampFormationInfo",type = EXPEDITON_POPUP_TYPE.MonsterXinMo},
-- 四灵试炼 boss
[7]= {view=require("Modules/Expedition/View/MonsterFormationInfo"),panelName="MonsterFormationInfo",type = EXPEDITON_POPUP_TYPE.FourElementMonster},
-- 七界试炼
[8]= {view=require("Modules/QiJieShiLian/QiJieShiLianMonsterInfo"),panelName="QiJieMonsterFormationInfo",type = EXPEDITON_POPUP_TYPE.QiJieShiLianMonster},
}
--子模块预设
local contentPrefabs={}
@ -29,6 +31,7 @@ function ExpeditionMonsterInfoPopup:InitComponent()
this.contents=Util.GetGameObject(this.gameObject,"Contents")
this.BGImage1=Util.GetGameObject(this.gameObject,"Contents/BG/BGImage1")
this.BGImage2=Util.GetGameObject(this.gameObject,"Contents/BG/BGImage2")
this.mask = Util.GetGameObject(this.gameObject,"BgMask")
--this.backBtn=Util.GetGameObject(this.contents,"BackBtn")
--子模块脚本初始化
for i = 1, #contentScripts do
@ -50,9 +53,9 @@ function ExpeditionMonsterInfoPopup:BindEvent()
contentScripts[i].view:BindEvent()
end
--返回按钮
--Util.AddClick(this.backBtn,function()
-- self:ClosePanel()
--end)
Util.AddClick(this.mask,function()
self:ClosePanel()
end)
end
--添加事件监听(用于子类重写)
@ -84,7 +87,7 @@ function ExpeditionMonsterInfoPopup:OnOpen(popupType,...)
contentPrefabs[i].gameObject:SetActive(false)
end
this.BGImage1:SetActive(index == 1 or index == 2)
this.BGImage2:SetActive(index == 3 or index == 4 or index == 5 or index == 6 or index == 7)
this.BGImage2:SetActive(index == 3 or index == 4 or index == 5 or index == 6 or index == 7 or index == 8)
contentPrefabs[index].gameObject:SetActive(true)
contentScripts[index].view:OnShow(this,...)--1、传入自己 2、传入不定参
end

View File

@ -50,13 +50,15 @@ function this.MakeAEmptyTeam(teamId)
elseif teamId == FormationTypeDef.FORMATION_YUXUNLUNDAO3 then
oTeam.teamName = "玉虚论道3队"-- 2003
elseif teamId == FormationTypeDef.FourElement_PEOPLE then
oTeam.teamName = "四灵试炼人"-- 1701
oTeam.teamName = "四灵试炼人"-- 3001
elseif teamId == FormationTypeDef.FourElement_BUDDHIST then
oTeam.teamName = "四灵试炼佛"-- 1701
oTeam.teamName = "四灵试炼佛"-- 3002
elseif teamId == FormationTypeDef.FourElement_MAGIC then
oTeam.teamName = "四灵试炼妖"-- 1701
oTeam.teamName = "四灵试炼妖"-- 3003
elseif teamId == FormationTypeDef.FourElement_TAOIST then
oTeam.teamName = "四灵试炼道"-- 1701
oTeam.teamName = "四灵试炼道"-- 3004
elseif teamId == FormationTypeDef.FORMATION_QIJIESHILIAN then
oTeam.teamName = "七界试炼"-- 2101
end
oTeam.teamHeroInfos = {}
oTeam.teamPokemonInfos = {}

View File

@ -29,7 +29,10 @@ function this:OnShow(_parent,...)
sortingOrder = _parent.sortingOrder
local _args = {...}
local data = _args[1]
parent.contents:GetComponent("RectTransform").localPosition = Vector2(0,450)
local pos = _args[2]
if pos then
parent.contents:GetComponent("RectTransform").localPosition = pos
end
if not this.addTextList then
this.addTextList = {}
end

View File

@ -298,7 +298,7 @@ function this.SwitchBtnCheck(num,func)
if this.curLevelId + 1 > this.curMaxStage then
return
end
LogRed(this.curMaxStage.." "..this.curLevelId.." "..tostring(this.IsLock))
-- LogRed(this.curMaxStage.." "..this.curLevelId.." "..tostring(this.IsLock))
if this.curMaxStage == this.curLevelId + 1 then
this.IsLock = false
end
@ -331,7 +331,6 @@ end
function this.CheckQiJieRedPoint()
local bool1 = this.CheckQiJieTreasureRedPoint()
local bool2 = PrivilegeManager.GetPrivilegeRemainValue(3201) > 0 and true or false
LogWarn("bool1 or bool2:"..tostring(bool1 or bool2))
return bool1 or bool2
end

View File

@ -0,0 +1,177 @@
----- 远征怪节点弹窗 -----
local QiJieShiLianMonsterInfo = {}
--传入父脚本模块
local parent
--传入特效层级
local sortingOrder=0
--item容器
local itemList = {}
local heroListGo = {}
local waveId = 0 --当前层
local curType = 1 --当前试炼类型
local configData = {} --当前层的数据表
local data = {} --当前试炼的数据
local rewardData = {} --当前层的奖励
local freeTime = 0
local buyTime = 0
local itemId = 0
local costNum = 0
local storeDataId = 0
local roleConfig=ConfigManager.GetConfig(ConfigName.RoleConfig)
local itemConfig=ConfigManager.GetConfig(ConfigName.ItemConfig)
local monsterGroup = ConfigManager.GetConfig(ConfigName.MonsterGroup)
function QiJieShiLianMonsterInfo:InitComponent(gameObject)
self.spLoader = SpriteLoader.New()
self.titleText=Util.GetGameObject(gameObject,"TitleText"):GetComponent("Text")
self.power = Util.GetGameObject(gameObject, "Power/Value"):GetComponent("Text")
--滚动条根节点
self.root = Util.GetGameObject(gameObject, "Root")
for i = 1, 6 do
heroListGo[i] = Util.GetGameObject(gameObject, "RoleGrid/Bg"..i.."/Hero"..i)
Util.GetGameObject(gameObject, "RoleGrid/Bg"..i):GetComponent("Image").sprite = self.spLoader:LoadSprite("bd_xinkapaifan")--CardPosImageName[i])
Util.GetGameObject(gameObject, "RoleGrid/Bg"..i.."/Pos"):GetComponent("Image").sprite = self.spLoader:LoadSprite(CardPosImageName[i])
end
self.backBtn=Util.GetGameObject(gameObject,"BackBtn")
self.sureBtn=Util.GetGameObject(gameObject,"sureBtn")
self.targetAttri=Util.GetGameObject(gameObject,"targetAttri")
self.targetAttri.gameObject:SetActive(true)
self.tip = Util.GetGameObject(gameObject,"tip"):GetComponent("Text")
Util.GetGameObject(gameObject, "RoleGrid/FrontImage"):GetComponent("Image").sprite = self.spLoader:LoadSprite("bd_xinqianpai_zh")
Util.GetGameObject(gameObject, "RoleGrid/BehindImage"):GetComponent("Image").sprite = self.spLoader:LoadSprite("bd_xinhoupai_zh")
self.targetAttri:GetComponent("Image").sprite = self.spLoader:LoadSprite("q_qjsl_wfzjm_mbtx")
Util.GetGameObject(gameObject, "Power"):GetComponent("Image").sprite = self.spLoader:LoadSprite("t_tongyong-zhanli_zh")
end
function QiJieShiLianMonsterInfo:BindEvent()
Util.AddClick(self.sureBtn, function()
UIManager.OpenPanel(UIName.FormationPanelV2, FORMATION_TYPE.QIJIESHILIAN,self.configData)
parent:ClosePanel()
end)
Util.AddClick(self.targetAttri, function()
UIManager.OpenPanel(UIName.GeneralInfoPopup,GENERALINFO_TYPE.QiJieGoalAttri,self.configData,Vector2.New(0,-174))
end)
Util.AddClick(self.backBtn, function()
parent:ClosePanel()
end)
end
function QiJieShiLianMonsterInfo:AddListener()
end
function QiJieShiLianMonsterInfo:RemoveListener()
end
function QiJieShiLianMonsterInfo:OnShow(_parent,...)
parent=_parent
sortingOrder = _parent.sortingOrder
--不定参中包含的不定参 _args[1]为面板类型 _args[2]之后(包括)为打开面板后传入的不定参
local args = {...}
self.configData = args[1]
--拿取奖励列表
local rewardList = {}
table.insert(rewardList,self.configData.JielingReward[1])
for i = 1, #self.configData.Reward do
table.insert(rewardList,self.configData.Reward[i])
end
if rewardList and #rewardList > 0 then
for i, v in pairs(rewardList) do
table.insert(rewardData,{v[1],v[2]})
end
end
self:FormationAdapter()
end
-- 编队数据匹配
function QiJieShiLianMonsterInfo:FormationAdapter()
self.titleText.text = string.format("%s·%s层",self.configData.Chapter,self.configData.Stage)
self.power.text = 999999
local bossTeaminfo = monsterGroup[self.configData.MonsterGroup].Contents[1]
for i = 1, #heroListGo do
if (bossTeaminfo[i]) and bossTeaminfo[i] > 0 then
heroListGo[i].transform.parent:GetComponent("Image").sprite=self.spLoader:LoadSprite("t_chengyuankuang_kuang")
self:SetCardSingleData(heroListGo[i],bossTeaminfo[i],i)
heroListGo[i]:SetActive(true)
else
heroListGo[i]:SetActive(false)
end
end
FindFairyManager.ResetItemView(self.root,self.root.transform,itemList,5,1,sortingOrder,false,rewardData)
end
function QiJieShiLianMonsterInfo:OnSortingOrderChange()
for i = 1, #heroListGo do
Util.AddParticleSortLayer(heroListGo[i], self.sortingOrder - sortingOrder)
end
sortingOrder = self.sortingOrder
end
--设置单个上阵英雄信息
function QiJieShiLianMonsterInfo:SetCardSingleData(o,monsterId, _pos)
local yuanImage=Util.GetGameObject(o,"yuanImage")
yuanImage:SetActive(false)
local hp = Util.GetGameObject(o,"hpProgress")
hp:SetActive(false)
local rage = Util.GetGameObject(o,"rageProgress")
rage:SetActive(false)
local monsterconfig = ConfigManager.GetConfigData(ConfigName.MonsterConfig, monsterId)
local heroConfig = ConfigManager.GetConfigData(ConfigName.HeroConfig, monsterconfig.MonsterId)
local bg=Util.GetGameObject(o,"Bg1"):GetComponent("Image")
bg.sprite = self.spLoader:LoadSprite(GetHeroCardStarBg[heroConfig.Star])
local fg=Util.GetGameObject(o,"Bg2"):GetComponent("Image")
fg.sprite = self.spLoader:LoadSprite(GetHeroCardStarFg[heroConfig.Star])
-- local live=Util.GetGameObject(o,"Mask/Live")
local lv=Util.GetGameObject(o,"lv/Text"):GetComponent("Text")
lv.text=monsterconfig.Level
local pro=Util.GetGameObject(o,"Pro/Image"):GetComponent("Image")
pro.sprite=self.spLoader:LoadSprite(GetProStrImageByProNum(heroConfig.PropertyName))
local starGrid=Util.GetGameObject(o,"StarGrid")
SetCardStars(starGrid,heroConfig.Star)
local name=Util.GetGameObject(o,"Name/Text"):GetComponent("Text")
name.text=heroConfig.ReadingName
local live = Util.GetGameObject(o, "Mask/icon"):GetComponent("RawImage")
local liveName = GetResourcePath(heroConfig.Live)
local roleConfig = ConfigManager.GetConfigData(ConfigName.RoleConfig, heroConfig.Id)
local scale = roleConfig.play_liveScale
local livePos = Vector3.New(roleConfig.offset[1], roleConfig.offset[2], 0)
live.texture = CardRendererManager.GetSpineTexture(_pos, liveName, Vector3.one * scale, livePos, true)
live.transform.localScale = Vector3.one
live.transform.localPosition = Vector3.zero
local zs = Util.GetGameObject(o, "zs")
local zsName = GetHeroCardStarZs[heroConfig.Star]
if zsName == "" then
zs:SetActive(false)
else
zs:SetActive(true)
zs:GetComponent("Image").sprite = self.spLoader:LoadSprite(zsName)
end
if heroConfig.Star > 9 then
Util.GetGameObject(o,"UI_Effect_jinkuang_KaPai").gameObject:SetActive(true)
else
Util.GetGameObject(o,"UI_Effect_jinkuang_KaPai").gameObject:SetActive(false)
end
end
function QiJieShiLianMonsterInfo:OnClose()
rewardData = {}
end
function QiJieShiLianMonsterInfo:OnDestroy()
self.spLoader:Destroy()
end
return QiJieShiLianMonsterInfo

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 564e8bd25c6b88d4ba37c6286c48dc60
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -85,7 +85,7 @@ function QiJieShiLianPanel:BindEvent()
UIManager.OpenPanel(UIName.HelpPopup,HELP_TYPE.QiJieShiLian,self.helpPosition.x,self.helpPosition.y)
end)
Util.AddClick(self.goalBtn,function()
UIManager.OpenPanel(UIName.GeneralInfoPopup,GENERALINFO_TYPE.QiJieGoalAttri,self.configData)
UIManager.OpenPanel(UIName.GeneralInfoPopup,GENERALINFO_TYPE.QiJieGoalAttri,self.configData,Vector2(0,450))
end)
Util.AddClick(self.giftBtn,function()
NetManager.SevenWorldRelicRequest(0,function (msg)
@ -119,14 +119,16 @@ function QiJieShiLianPanel:BindEvent()
ShopManager.RequestBuyShopItem(SHOP_TYPE.FUNCTION_SHOP,10042,1,function()
PopupTipPanel.ShowTip(Language[10517])
PrivilegeManager.RefreshPrivilegeUsedTimes(3202, 1)--更新特权
UIManager.OpenPanel(UIName.FormationPanelV2, FORMATION_TYPE.QIJIESHILIAN,self.configData)
-- UIManager.OpenPanel(UIName.FormationPanelV2, FORMATION_TYPE.QIJIESHILIAN,self.configData)
UIManager.OpenPanel(UIName.ExpeditionMonsterInfoPopup,EXPEDITON_POPUP_TYPE.QiJieShiLianMonster,self.configData)
end)
end)
else
PopupTipPanel.ShowTip("<color=red>今日已无挑战次数!</color>")
end
else
UIManager.OpenPanel(UIName.FormationPanelV2, FORMATION_TYPE.QIJIESHILIAN,self.configData)
-- UIManager.OpenPanel(UIName.FormationPanelV2, FORMATION_TYPE.QIJIESHILIAN,self.configData)
UIManager.OpenPanel(UIName.ExpeditionMonsterInfoPopup,EXPEDITON_POPUP_TYPE.QiJieShiLianMonster,self.configData)
end
end)
Util.AddClick(self.buyBtn,function()
@ -249,7 +251,7 @@ end
--设置下方挑战信息和奖励信息
function QiJieShiLianPanel:SetBottomBar()
--设置挑战加成数据
self.addNum.text = string.format( "满足一种获得界灵数量+%s",self.configData.ConditionValue[1][2]/100).."%"
self.addNum.text = string.format( "满足一种获得界灵数量+%s",self.configData.ConditionValue[1][2]/100).."%"
for i = 1, #self.goalList do
local text = Util.GetGameObject(self.goalList[i],"Text"):GetComponent("Text")
local image = Util.GetGameObject(self.goalList[i],"Image"):GetComponent("Image")