【战斗统计】第二版

dev_chengFeng
gaoxin 2021-01-16 16:21:44 +08:00
parent 6f386e1b52
commit ceb9e39b00
3 changed files with 89 additions and 1541 deletions

File diff suppressed because it is too large Load Diff

View File

@ -119,17 +119,20 @@ end
-- buff计算
function BattleAnalysisManager:OnRecordBuff(castRole, targetRole, buff)
local data = self:GetRecordData(castRole)
local id
if buff.type == BuffName.Control then -- 控制类
id = buff.type * 100 + buff.ctrlType
elseif buff.type == BuffName.Shield then -- 盾
id = buff.type * 100 + buff.shieldType
elseif buff.type == BuffName.Curse then -- 连接符
id = buff.type * 100 + 1
end
if not id then
return
end
if not data.buff then
data.buff = {}
end
local id = buff.type * 100
if buff.type == BuffName.Control then -- 控制类
id = id + buff.ctrlType
elseif buff.type == BuffName.Shield then -- 盾
id = id + buff.shieldType
elseif buff.type == BuffName.Curse then -- 连接符
id = id + 1
end
if not data.buff[id] then
data.buff[id] = 0
end

View File

@ -102,19 +102,45 @@ function DamageResultPanel:OnOpen(result)
end
-- tab节点管理
if this.TabCtrl then
this.TabCtrl:ChangeTab(1)
this.TabCtrl:Init(this.tabbox, _TabData)
end
end
--界面打开或者重新打开后,界面刷新时调用(用于子类重写)
function DamageResultPanel:OnShow()end
function this.isTabShow(index)
if not this.battleRecord then
return false
end
local list
if index == 1 or index == 2 then
return true
elseif index == 3 then
list = this.battleRecord.data
elseif index == 4 then
list = this.battleRecord.mdata
end
--
if list and table.nums(list) ~= 0 then
for _, role in pairs(list) do
-- 还有除info, damage, treat之外的其他属性
if table.nums(role) > 3 then
return true
end
end
end
return false
end
-- tab节点显示自定义
function this.TabAdapter(tab, index, status)
local tabLab = Util.GetGameObject(tab, "Text")
Util.GetGameObject(tab,"Img"):GetComponent("Image").sprite = Util.LoadSprite(_TabData[index][status])
tabLab:GetComponent("Text").text = _TabData[index].name
tabLab:GetComponent("Text").color = _TabFontColor[status]
tab.gameObject:SetActive(this.isTabShow(index))
end
-- tab改变回调事件
function this.OnTabChange(index, lastIndex)
@ -236,14 +262,19 @@ function this.ItemAdapter(item, data, showType)
local txt = ""
for key, value in pairs(data) do
local s = this.GetSpecialText(key, value)
if s then
if s and s ~= "" then
if txt ~= "" then
txt = txt.."\n"
end
txt = txt..s
end
end
content.text = txt == "" and "" or txt
-- 没有显示则不显示
if txt == "" then
item.gameObject:SetActive(false)
else
content.text = txt
end
end
end
@ -260,18 +291,22 @@ function this.GetSpecialText(key, value)
if s ~= "" then
s = s.."\n"
end
s = s .. string.format("%s<color=%s>%s</color>次", config.Describe, "#ff0000", v)
local color = UIColorStr.RED
if type == BuffName.Shield then
color = UIColorStr.GREEN
end
s = s .. string.format("%s<color=%s>%s</color>次", config.Describe, color, v)
end
end
return s
elseif key == "addRage" then
return string.format("回怒:<color=%s>%s</color>点", "#ff0000", value)
return string.format("回怒:<color=%s>%s</color>点", UIColorStr.GREEN, value)
elseif key == "subRage" then
return string.format("减怒:<color=%s>%s</color>点", "#ff0000", value)
return string.format("减怒:<color=%s>%s</color>点", UIColorStr.RED, value)
elseif key == "transRage" then
return string.format("借怒:<color=%s>%s</color>点", "#ff0000", value)
return string.format("借怒:<color=%s>%s</color>点", UIColorStr.GREEN, value)
elseif key == "secKill" then
return string.format("斩杀:<color=%s>%s</color>次", "#ff0000", value)
return string.format("斩杀:<color=%s>%s</color>次", UIColorStr.RED, value)
end
end
@ -286,11 +321,13 @@ function this.HeadAdapter(head, data)
local protoIcon = Util.GetGameObject(head, "prott/Image"):GetComponent("Image")
local lv = Util.GetGameObject(head, "lv")
local lvText = Util.GetGameObject(head, "lv/Text"):GetComponent("Text")
local starRoot = Util.GetGameObject(head, "star")
if data.type == BattleUnitType.Role then
local roleId = data.roleData.monsterId or data.roleData.roleId
local roleLv = data:GetRoleData(RoleDataName.Level)
local skinId = data.roleData.skinId
local star = data.star
local config = {}
if roleId > 10100 then
@ -328,6 +365,8 @@ function this.HeadAdapter(head, data)
-- 等级
lv:SetActive(true)
lvText.text = config.lv
-- 星级
SetHeroStars(starRoot, star)
-- 职业
prefess:SetActive(false)
-- 属性
@ -339,11 +378,17 @@ function this.HeadAdapter(head, data)
elseif data.type == BattleUnitType.Monster then
local id = data.uid
local roleLv = data:GetRoleData(RoleDataName.Level)
local star = data.star
prefess:SetActive(false)
proto:SetActive(false)
lv:SetActive(false)
frame.sprite = Util.LoadSprite("r_zhandou_yiyaodi")
-- 等级
lv:SetActive(true)
lvText.text = roleLv
-- 星级
SetHeroStars(starRoot, star)
-- 头像
frame.sprite = Util.LoadSprite(GetHeroQuantityImageByquality(SpiritAnimal[id].Quality))
icon:GetComponent("Image").sprite = Util.LoadSprite(GetResourcePath(SpiritAnimal[id].Icon))
end