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

139 lines
4.9 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")
PropBaseAttrSub = {}
local _CombatText
local _newCombatTextOne
local _newCombatTextTwo
function PropBaseAttrSub.Awake( )
_CombatText = _Combat:GetComponent("Text")
_newCombatTextOne = _newCombat:GetComponent("Text")
_newCombatTextTwo = _newCombat1:GetComponent("Text")
end
function PropBaseAttrSub.OnEnable( )
_newCombatTextTwo.gameObject:SetActive(true)
_CombatText.gameObject:SetActive(false)
_newCombatTextOne.gameObject:SetActive(false)
PropBaseAttrSub.ShowNewAttr(_newCombatTextOne,_newCombatTextTwo)
end
local _isShowTime = 0
local newStrList = {}
function PropBaseAttrSub.Update( )
_isShowTime = _isShowTime + CS.UnityEngine.Time.deltaTime
-- <color=#ffba35>对玩家增加伤害</color> 11%<color=#3ce067>+8%(强化)</color><color=#3ce067>+10%(词条)</color><color=#3ce067>+207(狂化)</color>
if _isShowTime >= 0.2 then
_isShowTime = 0
if _newCombatTextOne ~= nil and _newCombatTextOne.text ~= '' and _newCombatTextOne.text ~= nil then
PropBaseAttrSub.ShowNewAttr(_newCombatTextOne,_newCombatTextTwo)
end
end
end
function PropBaseAttrSub.ShowNewAttr(_Attrs,_newAttrs)
_newCombatTextTwo.gameObject:SetActive(true)
_CombatText.gameObject:SetActive(false)
_newCombatTextOne.gameObject:SetActive(false)
local PropertyName = '' --属性名
local _newStr = '' --属性值字符串
local shuxingzhi = 0 --属性值
local _jiaHao = PropBaseAttrSub.split(_Attrs.text,"+")
if #_jiaHao < 2 then
-- 没有属性加成
_newCombatTextTwo.text = _Attrs.text
return
end
local _kong = PropBaseAttrSub.split(_Attrs.text," ")
for i=1,#_kong do
PropertyName = _kong[1]
_newStr = _kong[2]
-- ELog('属性名字。。'..PropertyName)
-- ELog('新的字符串。。'.._newStr)
local _danShuMingHao = PropBaseAttrSub.split(_newStr,"<")
for ii=1,#_danShuMingHao do
local shuxingzhiStr = _danShuMingHao[1]
shuxingzhi = string.gsub(shuxingzhiStr, "%%", "")
--ELog('属性值。。'..shuxingzhi)
end
end
if shuxingzhi + 0 > 100 then
_newCombatTextTwo.text = _Attrs.text
PropBaseAttrSub.ShowUpdateStr()
return
end
--计算得到
local kuanghua = '' --狂化没有%
local newKuanghua= '' --狂化有%
-- 获取
local zengjiadeV = '' -- 狂化百分比有%
local newzengjiadeV = ''--狂化百分比没有%
for j=1,#_jiaHao do
if j == #_jiaHao then
kuanghua = _jiaHao[j]
--ELog(kuanghua ..' 。。狂化')
local variate =PropBaseAttrSub.split(kuanghua,"")
zengjiadeV = variate[1]
newzengjiadeV = string.gsub(zengjiadeV, "%%", "")
--ELog(newzengjiadeV ..' ..这是不是大于100')
local int_newzengjiadeV = tonumber(newzengjiadeV)
if int_newzengjiadeV+1 > 100 then
newKuanghua = int_newzengjiadeV/100 .. '%' .. CS.GCGame.Table.StrDictionary.GetClientDictionaryString("#{5808}")
-- ELog(newKuanghua..' 。。狂化百分比')
else
newKuanghua = int_newzengjiadeV .. '%' .. CS.GCGame.Table.StrDictionary.GetClientDictionaryString("#{5439}")
--ELog(newKuanghua..' 。。不是狂化百分比')
end
end
local geShu = #_jiaHao + 0
local _mPbs = _jiaHao
if geShu == 1 then
_newCombatTextTwo.text = _Attrs.text
end
if newKuanghua == '' then
_newCombatTextTwo.text = _Attrs.text
else
if geShu == 2 then
_newCombatTextTwo.text = _mPbs[1] ..'+' ..newKuanghua .. '</color>'
end
if geShu == 3 then
_newCombatTextTwo.text = _mPbs[1].. '+' .._mPbs[2] .. '+' ..newKuanghua .. '</color>'
end
if geShu == 4 then
_newCombatTextTwo.text = _mPbs[1].. '+' .._mPbs[2] .. '+' .._mPbs[3] .. '+' ..newKuanghua .. '</color>'
end
end
end
PropBaseAttrSub.ShowUpdateStr()
end
function PropBaseAttrSub.ShowUpdateStr()
local _finallyStr = string.gsub(_newCombatTextTwo.text, "%", "(")
_newCombatTextTwo.text = string.gsub(_finallyStr, "%", ")")
end
-- 参数:待分割的字符串,分割字符
-- 返回:子串表.(含有空串)
function PropBaseAttrSub.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