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 -- 对玩家增加伤害 11%+8%(强化)+10%(词条)+207(狂化) 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 .. '' end if geShu == 3 then _newCombatTextTwo.text = _mPbs[1].. '+' .._mPbs[2] .. '+' ..newKuanghua .. '' end if geShu == 4 then _newCombatTextTwo.text = _mPbs[1].. '+' .._mPbs[2] .. '+' .._mPbs[3] .. '+' ..newKuanghua .. '' 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