[玉虚论道]=====星级,等级显示修改

dev_chengFeng
wangzhenxing 2022-09-01 17:05:24 +08:00
parent 7d8cb3e398
commit e3b1b3a967
6 changed files with 116 additions and 45 deletions

View File

@ -20,7 +20,7 @@ end
function this.SubMitToServer(context)
--Log("提交内容数据:"..context)
networkMgr:SendHttpPost_Raw_Lua(GameCenterUrl, context, this.BackRespond, nil)
-- networkMgr:SendHttpPost_Raw_Lua(GameCenterUrl, context, this.BackRespond, nil)
end
--设备启动事件

View File

@ -8,7 +8,7 @@ FormationPanelV2 = Inherit(BasePanel)
local this = FormationPanelV2
local heroConfig=ConfigManager.GetConfig(ConfigName.HeroConfig)
local elementalResonanceConfig = ConfigManager.GetConfig(ConfigName.ElementalResonanceConfig)
local endLess=ConfigManager.GetConfig(ConfigName.EndlessHeroProp)
local roleConfig=ConfigManager.GetConfig(ConfigName.RoleConfig)
local orginLayer
local curFormation --打开面板编队信息
@ -551,15 +551,6 @@ function this.SetCardSingleData(o, heroId, _pos, _heroData)
end
yuanImage:SetActive(heroData.createtype == 1)
if HarmonyManager.IsChangeColor(heroData.dynamicId) then
lv.text="<color=#0f0>"..heroData.lv.."</color>"
elseif HarmonyManager:IsEnvoy(heroData.dynamicId) and HarmonyManager:HongMengTowerUpLimit() >= HarmonyManager.TowerStartLimit then
lv.text="<color=#ffbe22>"..heroData.lv.."</color>"
else
lv.text=heroData.lv
end
fg.sprite = this.spLoader:LoadSprite(GetHeroCardStarFg[heroData.star])
pro.sprite=this.spLoader:LoadSprite(GetProStrImageByProNum(heroData.property))
local star,starType = heroData.GetStar()
@ -570,13 +561,25 @@ function this.SetCardSingleData(o, heroId, _pos, _heroData)
fg.sprite = this.spLoader:LoadSprite("t_zhandoukuang_zhuangshi006")
end
end
local level=heroData.lv
if panelType == FORMATION_TYPE.WORLDARENA then
star=endLess[heroData.heroConfig.Id].Star
level=endLess[heroData.heroConfig.Id].Level
end
if HarmonyManager.IsChangeColor(heroData.dynamicId) then
lv.text="<color=#0f0>"..level.."</color>"
elseif HarmonyManager:IsEnvoy(heroData.dynamicId) and HarmonyManager:HongMengTowerUpLimit() >= HarmonyManager.TowerStartLimit then
lv.text="<color=#ffbe22>"..level.."</color>"
else
lv.text=level
end
SetCardStars(starGrid,star,starType)
if heroData.star > 9 then
kaPaiEffect:SetActive(true)
else
kaPaiEffect:SetActive(false)
end
SetHeroFormationFlyEffect(o,this.spLoader,kaPaiEffect,heroData.star,orginLayer)
SetHeroFormationFlyEffect(o,this.spLoader,kaPaiEffect,star,orginLayer)
name.text=GetLanguageStrById(heroData.heroConfig.ReadingName)
SetTextVerTial(name.gameObject,Vector3.New(29.24,-7.45,0),nil,nil,8)
@ -638,6 +641,8 @@ end
function this.SetRoleList(_roleDatas, isTop,isAni)
if panelType == FORMATION_TYPE.ExploreFunc then
_roleDatas = this.opView.SortHeroDatas(_roleDatas)
elseif panelType == FORMATION_TYPE.WORLDARENA then
_roleDatas=this.opView.SortHeroDatas(_roleDatas)
elseif this.opView.SortHeroDatas then
this.opView.SortHeroDatas(_roleDatas)
else
@ -827,17 +832,7 @@ function this.SingleHeroDataShow(_go, _heroData)
end
frame.sprite=this.spLoader:LoadSprite(GetHeroQuantityImageByquality(heroData.heroConfig.Quality,heroData.star))
icon.sprite=this.spLoader:LoadSprite(heroData.icon)
if HarmonyManager.IsChangeColor(heroData.dynamicId) then
-- body
lv.text="<color=#0f0>"..heroData.lv.."</color>"
elseif HarmonyManager:IsEnvoy(heroData.dynamicId) and HarmonyManager:HongMengTowerUpLimit() >= HarmonyManager.TowerStartLimit then
-- bod
lv.text="<color=#ffbe22>"..heroData.lv.."</color>"
else
lv.text=heroData.lv
end
local level=heroData.lv
pos.sprite = this.spLoader:LoadSprite(heroData.professionIcon)
local star,starType = heroData.GetStar(1)
local starSize = Vector2.New(30,30)
@ -848,8 +843,31 @@ function this.SingleHeroDataShow(_go, _heroData)
elseif starType == 2 then
starSize = Vector2.New(60,57)
end
if panelType == FORMATION_TYPE.WORLDARENA then
if this.opView.GetHeroTeam then
local index = this.opView.GetHeroTeam(heroData.dynamicId)
if index and index ~= this.curFormationIndex then
yxInfo:SetActive(true)
for i = 1, 3 do
teamList[i]:SetActive(false)
end
teamList[index-2000]:SetActive(true)
end
end
star=endLess[heroData.heroConfig.Id].Star
level=endLess[heroData.heroConfig.Id].Level
end
if HarmonyManager.IsChangeColor(heroData.dynamicId) then
-- body
lv.text="<color=#0f0>"..level.."</color>"
elseif HarmonyManager:IsEnvoy(heroData.dynamicId) and HarmonyManager:HongMengTowerUpLimit() >= HarmonyManager.TowerStartLimit then
-- bod
lv.text="<color=#ffbe22>"..level.."</color>"
else
lv.text=level
end
SetHeroStars(this.spLoader, starGrid, star,starType,starSize,starScale)
local effect=SetHeroFlyEffect(go,this.spLoader,heroData.star,this.sortingOrder,1,4)
local effect=SetHeroFlyEffect(go,this.spLoader,star,this.sortingOrder,1,4)
if effect then
local meshs2=effect:GetComponentsInChildren(typeof(UnityEngine.SkinnedMeshRenderer))
for key, value in pairs(meshs2:ToTable()) do
@ -899,18 +917,7 @@ function this.SingleHeroDataShow(_go, _heroData)
choosedObj:SetActive(true)
end
end
if panelType == FORMATION_TYPE.WORLDARENA then
if this.opView.GetHeroTeam then
local index = this.opView.GetHeroTeam(heroData.dynamicId)
if index and index ~= this.curFormationIndex then
yxInfo:SetActive(true)
for i = 1, 3 do
teamList[i]:SetActive(false)
end
teamList[index-2000]:SetActive(true)
end
end
end
local exploreTeamList = {}
local exploreTeam = Util.GetGameObject(go, "exploreTeamName")
exploreTeam.gameObject:SetActive(false)

View File

@ -306,6 +306,25 @@ function this.GetOtherTeamAllHeroIds(_index)
end
function this.GetOtherTeamAllHeroStaticIds(_index)
local ids={}
for key, value in pairs(allHeros) do
if value.index~=_index then
local data=HeroManager.GetSingleHeroData(key)
local id=data.heroConfig.Id
if not BattleUtil.ChecklistIsContainValue(ids,id) then
LogError("id==============="..id)
table.insert(ids,id)
end
end
end
return ids
end
function this.On_Btn2_Click()
local oneTeam={}
local twoTeam={}
@ -354,7 +373,39 @@ function this.On_Btn2_Click()
end
--排序
function this.SortHeroDatas()
function this.SortHeroDatas(data)
table.sort(data,function(a,b)
if a.fourElementSortId == b.fourElementSortId then
local aGodLv = GodSoulManager.GetGodSoulLv(a.dynamicId)
local bGodLv = GodSoulManager.GetGodSoulLv(b.dynamicId)
if aGodLv == bGodLv then
if a.star == b.star then
return a.warPower > b.warPower
else
return a.star > b.star
end
else
return aGodLv > bGodLv
end
else
return a.fourElementSortId > b.fourElementSortId
end
end)
local data2 = {}
local ids={}
for k,v in ipairs(data) do
local id=v.heroConfig.Id
if BattleUtil.ChecklistIsContainValue(ids,id) then
else
table.insert(data2,v)
table.insert(ids,id)
end
end
return data2
end
@ -450,6 +501,14 @@ function this.HeroUpDownCheck(params, checkFail, CheckSuccess)
end)
end
else
--判断是否是相同英雄
LogError("1111111111111111")
local ids=this.GetOtherTeamAllHeroStaticIds(this.GetFormationIndex())
LogError("ids len=="..#ids)
if BattleUtil.ChecklistIsContainValue(ids,params.heroData.heroConfig.Id) then
PopupTipPanel.ShowTip("不能上阵相同类型神将")
return
end
if CheckSuccess then
if params.position and params.position ~= 0 then
--改变英雄队伍id改变

View File

@ -1,5 +1,6 @@
require("Base/BasePanel")
local WorldArenaBattleInfoPanel = Inherit(BasePanel)
local endLess=ConfigManager.GetConfig(ConfigName.EndlessHeroProp)
local this = WorldArenaBattleInfoPanel
local state=1 -- 1:开战前 2.:开战中 3开战后
@ -569,6 +570,7 @@ function this.SetTeamInfo(_go,teamData,type)
teamList[hero.position].hero:SetActive(true)
teamList[hero.position].starGrid.transform.localScale=Vector3.one*0.7
local star,starType = GetStarOrGodSoulLv(1,hero)
star=endLess[heroTid].Star
local starScale = -15
local starSize = Vector2.New(32,32)
if starType == 3 then
@ -587,10 +589,10 @@ function this.SetTeamInfo(_go,teamData,type)
Util.SetParticleSortLayer(teamList[hero.position].starGrid,this.sortingOrder + 1)
local heroConfig = ConfigManager.GetConfigData(ConfigName.HeroConfig, heroTid)
teamList[hero.position].proIcon.sprite = this.spLoader:LoadSprite(GetProStrImageByProNum(hero.propertyId))
teamList[hero.position].levelText.text = hero.level
teamList[hero.position].levelText.text =endLess[heroTid].Level or hero.level
teamList[hero.position].frame.sprite = this.spLoader:LoadSprite(GetQuantityImageByquality(heroConfig.Quality, hero.star))
SetHeroIcon(this.spLoader, hero,teamList[hero.position].icon,heroConfig)
SetHeroFlyEffect(teamList[hero.position].hero,this.spLoader,hero.star,this.sortingOrder+1,0.6,2)
SetHeroFlyEffect(teamList[hero.position].hero,this.spLoader,star,this.sortingOrder+1,0.6,2)
--local heroData = {}
-- Util.AddOnceClick(teamList[i].frameBtn, function()
-- NetManager.ViewHeroInfoRequest(self.playerId,hero.heroid,1,PLAYER_INFO_VIEW_TYPE.NORMAL,function(msg)

View File

@ -1,6 +1,6 @@
require("Base/BasePanel")
local WorldArenaMyTeamPanel = Inherit(BasePanel)
local endLessConfig=ConfigManager.GetConfig(ConfigName.EndlessHeroProp)
local function OnBeginDrag(self, Pointgo, data, index)
self.chooseIndex = index
self.oldGrid = Pointgo.transform.parent.parent
@ -167,6 +167,8 @@ function WorldArenaMyTeamPanel:SetSingleFormation(go,data,index)
local heroData=HeroManager.GetSingleHeroData(heroTid)
self.Heros[index][hero.position].hero:SetActive(true)
local star,starType = heroData.GetStar(1)
LogError("heroData.id=="..heroData.id)
star=endLessConfig[heroData.id].Star
local starScale = -15
local starSize = Vector2.New(32,32)
if starType == 3 then
@ -177,11 +179,11 @@ function WorldArenaMyTeamPanel:SetSingleFormation(go,data,index)
end
SetHeroStars(self.spLoader, self.Heros[index][hero.position].starGrid, star,starType,starSize,starScale)
Util.SetParticleSortLayer(self.Heros[index][hero.position].starGrid,self.sortingOrder + 1)
SetHeroFlyEffect(self.Heros[index][hero.position].hero,self.spLoader,heroData.star,self.sortingOrder+1,0.9,2)
SetHeroFlyEffect(self.Heros[index][hero.position].hero,self.spLoader,star,self.sortingOrder+1,0.9,2)
local heroConfig = ConfigManager.GetConfigData(ConfigName.HeroConfig, heroData.id)
allPower=allPower+heroData.warPower
self.Heros[index][hero.position].proIcon.sprite = self.spLoader:LoadSprite(GetProStrImageByProNum(heroData.changeProId))
self.Heros[index][hero.position].levelText.text = heroData.lv
self.Heros[index][hero.position].levelText.text = endLessConfig[heroData.id].Level or heroData.lv
self.Heros[index][hero.position].frame.sprite = self.spLoader:LoadSprite(GetQuantityImageByquality(heroConfig.Quality,heroData.star))
SetHeroIcon(self.spLoader,heroData,self.Heros[index][hero.position].icon,heroConfig)
local heroData = {}

View File

@ -1,7 +1,7 @@
require("Base/BasePanel")
local WorldArenaOtherTeamPanel = Inherit(BasePanel)
local XiuXianSkillConfig = ConfigManager.GetConfig(ConfigName.XiuXianSkillConfig)
local endLess=ConfigManager.GetConfig(ConfigName.EndlessHeroProp)
local type=0 --1:挑战 2详情
local itemId, needNum
local haveNum=0
@ -221,6 +221,7 @@ function WorldArenaOtherTeamPanel:SetTeamInfo(_go,teamData)
if heroTid then
self.teamList[index].heroList[hero.position].hero:SetActive(true)
local star,starType = GetStarOrGodSoulLv(1,hero)
star=endLess[heroTid].Star
local starScale = -15
local starSize = Vector2.New(32,32)
if starType == 3 then
@ -233,10 +234,10 @@ function WorldArenaOtherTeamPanel:SetTeamInfo(_go,teamData)
Util.SetParticleSortLayer(self.teamList[index].heroList[hero.position].starGrid,self.sortingOrder + 1)
local heroConfig = ConfigManager.GetConfigData(ConfigName.HeroConfig, heroTid)
self.teamList[index].heroList[hero.position].proIcon.sprite = self.spLoader:LoadSprite(GetProStrImageByProNum(hero.propertyId))
self.teamList[index].heroList[hero.position].levelText.text = hero.level
self.teamList[index].heroList[hero.position].levelText.text =endLess[heroTid].Star or hero.level
self.teamList[index].heroList[hero.position].frame.sprite = self.spLoader:LoadSprite(GetQuantityImageByquality(heroConfig.Quality, hero.star))
SetHeroIcon(self.spLoader,hero, self.teamList[index].heroList[hero.position].icon,heroConfig)
SetHeroFlyEffect(self.teamList[index].heroList[hero.position].hero,self.spLoader,hero.star,self.sortingOrder+1,0.8,2)
SetHeroFlyEffect(self.teamList[index].heroList[hero.position].hero,self.spLoader,star,self.sortingOrder+1,0.8,2)
local heroData = {}
Util.AddOnceClick(self.teamList[index].heroList[hero.position].frame.gameObject, function()
-- LogError("playerid=="..self.playerId.." heroid=="..hero.heroid.." servername=="..serverName.." arrayid=="..2000+index)