Files
JJBB/Assets/Project/Script/LuaScripts/UI/Lua/PropBaseAttr/EnhanceFrenzyPanel.txt
2024-08-23 15:49:34 +08:00

110 lines
4.0 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- 狂化界面 狂化百分比
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