Files
JJBB/Assets/Project/Script/LuaScripts/UI/Lua/PropBaseAttr/EnhanceFrenzyPanel.txt

110 lines
4.0 KiB
Plaintext
Raw Normal View History

2024-08-23 15:49:34 +08:00
-- 狂化界面 狂化百分比
require("LuaUtil")
require("Util")
EnhanceFrenzyPanel = {}
local Combat
local newCombat
local Arrows
function EnhanceFrenzyPanel.Awake( )
Combat = _Combat:GetComponent("Text")
newCombat = _newCombat:GetComponent("Text")
Arrows = _Arrows:GetComponent("Transform")
end
function EnhanceFrenzyPanel.OnEnable( )
Combat.gameObject:SetActive(false)
newCombat.gameObject:SetActive(true)
EnhanceFrenzyPanel.ShowNewAttr(Combat,newCombat)
end
local _isShowTime = 0
local newStrList = {}
function EnhanceFrenzyPanel.Update( )
_isShowTime = _isShowTime + CS.UnityEngine.Time.deltaTime
-- 法攻 12249<color=#f2341b>+2153狂化</color><color=#128D09>+8%(强化)</color>
if _isShowTime >= 0.2 then
_isShowTime = 0
EnhanceFrenzyPanel.ShowNewAttr(Combat,newCombat)
end
end
function EnhanceFrenzyPanel.ShowNewAttr(_Attrs,_newAttrs)
if _Attrs.text ~= '' and _Attrs.text ~= nil and _Attrs ~= nil then
_Attrs.gameObject:SetActive(false)
local PropertyName = ''
local _newStr = ''
local shuxingzhi = ''
local kuanghuaStr = ''
local kuanghuaShu = 0
local kuanghuaBaifenBi = ''
local _kongGeSplit = EnhanceFrenzyPanel.split(_Attrs.text," ")
for i=1,#_kongGeSplit do
PropertyName = _kongGeSplit[1]
_newStr = _kongGeSplit[2]
-- ELog('属性名字。。'..PropertyName)
--ELog('新的字符串。。'.._newStr)
local _danShuMingHaoSplit = EnhanceFrenzyPanel.split(_newStr,"<")
for ii=1,#_danShuMingHaoSplit do
local aaaaa = _danShuMingHaoSplit[1]
shuxingzhi = string.gsub(aaaaa, "%%", "")
--ELog('属性值。。'..shuxingzhi)
end
end
if shuxingzhi + 0 > 100 then
newCombat.text = _Attrs.text
return
end
local _jiaHaoSplit = EnhanceFrenzyPanel.split(_newStr,"+")
kuanghuaStr = _jiaHaoSplit[2]
-- print("--------22222"..kuanghuaStr)
kuanghuaStr = EnhanceFrenzyPanel.TrimKuoHao(kuanghuaStr)
kuanghuaShu = EnhanceFrenzyPanel.split(kuanghuaStr,"%(")[1]
kuanghuaBaifenBi = kuanghuaShu / 100 .. '%'
if #_jiaHaoSplit == 2 then
local _newStr1 = PropertyName .._jiaHaoSplit[1] .. '+'.. kuanghuaBaifenBi .. CS.GCGame.Table.StrDictionary.GetClientDictionaryString("#{5808}") .. '</color>'
_newStr1 = EnhanceFrenzyPanel.TrimKuoHao(_newStr1)
local _newStr2 = string.gsub(_newStr1, "%(", "(")
newCombat.text = string.gsub(_newStr2, "%(", ")")
end
if #_jiaHaoSplit == 3 then
local _newStr1 = PropertyName .._jiaHaoSplit[1] .. '+'..kuanghuaBaifenBi .. CS.GCGame.Table.StrDictionary.GetClientDictionaryString("#{5808}") .. '</color><color=#128D09>'.. '+' .._jiaHaoSplit[3]
_newStr1 = EnhanceFrenzyPanel.TrimKuoHao(_newStr1)
local _newStr2 = string.gsub(_newStr1, "%(", "(")
newCombat.text = string.gsub(_newStr2, "%)", ")")
end
--ELog(newCombat.text)
end
end
function EnhanceFrenzyPanel.TrimKuoHao(str)
local kuanghuaStr = string.gsub(str, "", "(")
kuanghuaStr = string.gsub(kuanghuaStr, "", "(")
return kuanghuaStr
end
-- 参数:待分割的字符串,分割字符
-- 返回:子串表.(含有空串)
function EnhanceFrenzyPanel.split(str, split_char)
local sub_str_tab = {}
while true do
if split_char ~= nil then
local pos = string.find(str, split_char)
if not pos then
table.insert(sub_str_tab,str)
break
end
local sub_str = string.sub(str, 1, pos - 1)
table.insert(sub_str_tab,sub_str)
str = string.sub(str, pos + 1, string.len(str))
end
end
return sub_str_tab
end