From e2892eae7075589ae714882b889eeef1723ce66c Mon Sep 17 00:00:00 2001 From: vurtne14 Date: Thu, 15 May 2025 10:29:09 +0800 Subject: [PATCH] 1 --- .../~Lua/Common/functions.lua | 459 +++++++++--------- 1 file changed, 241 insertions(+), 218 deletions(-) diff --git a/Assets/ManagedResources/~Lua/Common/functions.lua b/Assets/ManagedResources/~Lua/Common/functions.lua index 150dd5df3..6efed9148 100644 --- a/Assets/ManagedResources/~Lua/Common/functions.lua +++ b/Assets/ManagedResources/~Lua/Common/functions.lua @@ -22,14 +22,14 @@ function InheritMulti(tbChild, ...) if ret then return ret end end end - local args = {...} + local args = { ... } if #args < 1 then local o = tbChild or {} setmetatable(o, { __index = o }) return o else local tb = tbChild or {} - setmetatable(tb, {__index = function(t, k) return super(k, args) end}) + setmetatable(tb, { __index = function(t, k) return super(k, args) end }) return tb end end @@ -70,7 +70,7 @@ function effectAdapte(go) local scale = Screen.width / Screen.height / 1080 * 1920 --local scale = Screen.width / 1080 --local scale = 1920 / Screen.height - + local v3 = go.transform.localScale if scale <= 1 then Util.SetParticleScale(go, scale) @@ -101,8 +101,8 @@ function findPanel(str) end function ReloadFile(file_path) - package.loaded[file_path] = nil -- 消除载入记录 - return require(file_path) -- 重新加载lua文件 + package.loaded[file_path] = nil -- 消除载入记录 + return require(file_path) -- 重新加载lua文件 end function UnLoadLuaFiles(config) @@ -192,6 +192,7 @@ function PrintWanNum(num) return tostring(num) end end + function PrintWanNum2(num) if num >= 100000000 then return string.format(GetLanguageStrById(12100), string.format("%.1f", num / 100000000)) @@ -201,24 +202,29 @@ function PrintWanNum2(num) return tostring(num) end end + function PrintWanNum3(num) if num >= 100000000 then return string.format(GetLanguageStrById(12100), string.format("%.2f", num / 100000000)) elseif num >= 100000 then - return string.format("%.2f",num / 10000) .. GetLanguageStrById(10042) + return string.format("%.2f", num / 10000) .. GetLanguageStrById(10042) else return tostring(num) end end -function PrintWanNum5(num,num2) + +function PrintWanNum5(num, num2) if num >= 100000000 then - return string.format(GetLanguageStrById(12100), string.format("%.2f", num / 100000000)) .."/"..string.format(GetLanguageStrById(12100), string.format("%.2f", num2 / 100000000)) + return string.format(GetLanguageStrById(12100), string.format("%.2f", num / 100000000)) .. + "/" .. string.format(GetLanguageStrById(12100), string.format("%.2f", num2 / 100000000)) elseif num >= 100000 then - return string.format("%.2f",num / 10000) .. GetLanguageStrById(10042).."/"..string.format("%.2f", num2 / 10000) .. GetLanguageStrById(10042) + return string.format("%.2f", num / 10000) .. + GetLanguageStrById(10042) .. "/" .. string.format("%.2f", num2 / 10000) .. GetLanguageStrById(10042) else - return tostring(num).."/"..tostring(num2) + return tostring(num) .. "/" .. tostring(num2) end end + function PrintWanNum4(num) if num >= 10000 then return tostring(math.floor(num / 10000)) .. GetLanguageStrById(10042) @@ -229,11 +235,11 @@ end function PrintWanNum6(num) if num >= 1000000000 then - return string.format("%.2f",num / 1000000000) .. GetLanguageStrById(23166) + return string.format("%.2f", num / 1000000000) .. GetLanguageStrById(23166) elseif num >= 1000000 then - return string.format("%.2f",num / 1000000) .. GetLanguageStrById(23165) + return string.format("%.2f", num / 1000000) .. GetLanguageStrById(23165) elseif num >= 10000 then - return string.format("%.1f",num / 10000) .. GetLanguageStrById(10042) + return string.format("%.1f", num / 10000) .. GetLanguageStrById(10042) else return tostring(num) end @@ -283,10 +289,12 @@ function Util_Check_insameweek(time1, time2) end return false end + --秒转换成文字对应时间 function GetTimeStrBySeconds(_seconds) return os.date(GetLanguageStrById(10779), _seconds) end + --秒转换成文字对应时间 只有分秒 function GetTimeMaoHaoStrBySeconds(_seconds) return os.date("%M:%S", _seconds) @@ -324,7 +332,8 @@ function PrintTable(root) elseif type(v) == "table" then local new_key = name .. "." .. key cache[v] = new_key - tinsert(temp, "+" .. key .. _dump(v, space .. (next(t, k) and "|" or " ") .. srep(" ", #key), new_key)) + tinsert(temp, + "+" .. key .. _dump(v, space .. (next(t, k) and "|" or " ") .. srep(" ", #key), new_key)) else tinsert(temp, "+" .. key .. " [" .. tostring(v) .. "]") end @@ -385,6 +394,7 @@ end function Map_UV2Pos(u, v) return u * 256 + v end + --地图uv坐标 function Map_Pos2UV(pos) return math.floor(pos / 256), pos % 256 @@ -393,14 +403,15 @@ end -- 公会地图坐标精细化处理 function GuildMap_UV2Pos(u, v) -- return u * 256 + v - local _u = math.floor(u *100) - local _v = math.floor(v *100) + local _u = math.floor(u * 100) + local _v = math.floor(v * 100) return _u * 25600 + _v end + function GuildMap_Pos2UV(pos) -- return math.floor(pos / 256), pos % 256 - local _u = math.floor(pos/25600)/100 - local _v = pos%25600/100 + local _u = math.floor(pos / 25600) / 100 + local _v = pos % 25600 / 100 return math.round(_u), math.round(_v), _u, _v end @@ -421,8 +432,8 @@ function SetHeroStars(starGrid, star, scale) -- starPre.transform:SetAsFirstSibling() end - local starIcon = Util.GetGameObject(starPre,"starIcon"):GetComponent("Image") - starIcon.sprite = Util.LoadSprite("X1_tongyong_xingji_"..star) + local starIcon = Util.GetGameObject(starPre, "starIcon"):GetComponent("Image") + starIcon.sprite = Util.LoadSprite("X1_tongyong_xingji_" .. star) end function SetHeroBg(bg, frame, quality, star) @@ -432,11 +443,11 @@ end --把英雄星级父对象和星级传过来 local star2index = { - [1] = {3}, - [2] = {2, 4}, - [3] = {2, 3, 4}, - [4] = {1, 2, 4, 5}, - [5] = {1, 2, 3, 4, 5} + [1] = { 3 }, + [2] = { 2, 4 }, + [3] = { 2, 3, 4 }, + [4] = { 1, 2, 4, 5 }, + [5] = { 1, 2, 3, 4, 5 } } function SetCardStars(starGrid, star) for i = 1, 15 do @@ -447,13 +458,14 @@ function SetCardStars(starGrid, star) starGrid.transform:GetChild(i - 1).gameObject:SetActive(true) end elseif star > 5 and star < 10 then - for _, i in ipairs(star2index[star-5]) do + for _, i in ipairs(star2index[star - 5]) do starGrid.transform:GetChild(5 + i - 1).gameObject:SetActive(true) end elseif star > 9 then starGrid.transform:GetChild(star).gameObject:SetActive(true) end end + -- 在给定节点下加载预设, 返回实例化的预设 function newObjToParent(prefab, parent) local go = newObject(prefab) @@ -611,7 +623,6 @@ end -- 将秒转换成分:秒格式返回 function SetTimeFormation(seconds) - local str = "" local ten_minute = math.modf(seconds / 600) local minute = math.modf(seconds / 60) % 10 @@ -631,7 +642,7 @@ function Dump(data, showMetatable, lastCount) for i = 1, count do B2 = B2 .. " " end - + --Metatable if showMetatable then local blank = " " @@ -639,7 +650,7 @@ function Dump(data, showMetatable, lastCount) blank = blank .. " " end local mt = getmetatable(data) - + Dump(mt, showMetatable, count) end @@ -650,12 +661,12 @@ function Dump(data, showMetatable, lastCount) blank = blank .. " " end if type(key) == "string" then - + elseif type(key) == "number" then - + else - + end Dump(value, showMetatable, count) end @@ -664,11 +675,10 @@ function Dump(data, showMetatable, lastCount) for i = 1, lastCount or 0 do B0 = B0 .. " " end - end --Format if not lastCount then - + end end @@ -703,8 +713,8 @@ function GetNoTargetHero(quality) end --通过item稀有度读取背景框 -function GetQuantityImageByquality(quality,star) - if star then--and star > 5 +function GetQuantityImageByquality(quality, star) + if star then --and star > 5 if star == 1 then return "X1_tongyong_daojukuang_01" elseif star == 2 then @@ -720,28 +730,28 @@ function GetQuantityImageByquality(quality,star) elseif star > 10 then return "X1_tongyong_daojukuang_06" end - else - if quality == 0 or quality == 1 then - return "X1_tongyong_daojukuang_01" - elseif quality == 2 then - return "X1_tongyong_daojukuang_02" - elseif quality == 3 then - return "X1_tongyong_daojukuang_03" - elseif quality == 4 then - return "X1_tongyong_daojukuang_04" - elseif quality == 5 then - return "X1_tongyong_daojukuang_05" - elseif quality == 6 then - return "X1_tongyong_daojukuang_06" - elseif quality >= 7 then - return "X1_tongyong_daojukuang_06" - end - end + else + if quality == 0 or quality == 1 then + return "X1_tongyong_daojukuang_01" + elseif quality == 2 then + return "X1_tongyong_daojukuang_02" + elseif quality == 3 then + return "X1_tongyong_daojukuang_03" + elseif quality == 4 then + return "X1_tongyong_daojukuang_04" + elseif quality == 5 then + return "X1_tongyong_daojukuang_05" + elseif quality == 6 then + return "X1_tongyong_daojukuang_06" + elseif quality >= 7 then + return "X1_tongyong_daojukuang_06" + end + end end --通过item稀有度读取底板 -function GetQuantityBgImageByquality(quality,star) - if star then--and star > 5 +function GetQuantityBgImageByquality(quality, star) + if star then --and star > 5 if star == 1 then return "X1_tongyong_yingxiongkuangdiban_01" elseif star == 2 then @@ -757,28 +767,28 @@ function GetQuantityBgImageByquality(quality,star) elseif star > 10 then return "X1_tongyong_yingxiongkuangdiban_06" end - else - if quality == 0 or quality == 1 then - return "X1_tongyong_yingxiongkuangdiban_01" - elseif quality == 2 then - return "X1_tongyong_yingxiongkuangdiban_02" - elseif quality == 3 then - return "X1_tongyong_yingxiongkuangdiban_03" - elseif quality == 4 then - return "X1_tongyong_yingxiongkuangdiban_04" - elseif quality == 5 then - return "X1_tongyong_yingxiongkuangdiban_05" - elseif quality == 6 then - return "X1_tongyong_yingxiongkuangdiban_06" - elseif quality >= 7 then - return "X1_tongyong_yingxiongkuangdiban_06" - end - end + else + if quality == 0 or quality == 1 then + return "X1_tongyong_yingxiongkuangdiban_01" + elseif quality == 2 then + return "X1_tongyong_yingxiongkuangdiban_02" + elseif quality == 3 then + return "X1_tongyong_yingxiongkuangdiban_03" + elseif quality == 4 then + return "X1_tongyong_yingxiongkuangdiban_04" + elseif quality == 5 then + return "X1_tongyong_yingxiongkuangdiban_05" + elseif quality == 6 then + return "X1_tongyong_yingxiongkuangdiban_06" + elseif quality >= 7 then + return "X1_tongyong_yingxiongkuangdiban_06" + end + end end --通过item稀有度读取pro底板 -function GetQuantityProBgImageByquality(quality,star) - if star then--and star > 5 +function GetQuantityProBgImageByquality(quality, star) + if star then --and star > 5 if star == 1 then return "X1_tongyong_daojukuang_zhenying_01" elseif star == 2 then @@ -794,28 +804,28 @@ function GetQuantityProBgImageByquality(quality,star) elseif star > 10 then return "X1_tongyong_daojukuang_zhenying_06" end - else - if quality == 0 or quality == 1 then - return "X1_tongyong_daojukuang_zhenying_01" - elseif quality == 2 then - return "X1_tongyong_daojukuang_zhenying_02" - elseif quality == 3 then - return "X1_tongyong_daojukuang_zhenying_03" - elseif quality == 4 then - return "X1_tongyong_daojukuang_zhenying_04" - elseif quality == 5 then - return "X1_tongyong_daojukuang_zhenying_05" - elseif quality == 6 then - return "X1_tongyong_daojukuang_zhenying_06" - elseif quality >= 7 then - return "X1_tongyong_daojukuang_zhenying_06" - end - end + else + if quality == 0 or quality == 1 then + return "X1_tongyong_daojukuang_zhenying_01" + elseif quality == 2 then + return "X1_tongyong_daojukuang_zhenying_02" + elseif quality == 3 then + return "X1_tongyong_daojukuang_zhenying_03" + elseif quality == 4 then + return "X1_tongyong_daojukuang_zhenying_04" + elseif quality == 5 then + return "X1_tongyong_daojukuang_zhenying_05" + elseif quality == 6 then + return "X1_tongyong_daojukuang_zhenying_06" + elseif quality >= 7 then + return "X1_tongyong_daojukuang_zhenying_06" + end + end end --> 六边形背景 function GetQuantityImageByqualityHexagon(quality, star) - if star then--and star > 5 + if star then --and star > 5 if star == 1 then return "X1_tongyong_daojukuang_dengji_01" elseif star == 2 then @@ -832,22 +842,22 @@ function GetQuantityImageByqualityHexagon(quality, star) return "X1_tongyong_daojukuang_dengji_06" end else - if quality == 0 or quality == 1 then - return "X1_tongyong_daojukuang_dengji_01" - elseif quality == 2 then - return "X1_tongyong_daojukuang_dengji_02" - elseif quality == 3 then - return "X1_tongyong_daojukuang_dengji_03" - elseif quality == 4 then - return "X1_tongyong_daojukuang_dengji_04" - elseif quality == 5 then - return "X1_tongyong_daojukuang_dengji_05" - elseif quality == 6 then - return "X1_tongyong_daojukuang_dengji_06" - elseif quality >= 7 then - return "X1_tongyong_daojukuang_dengji_06" - end - end + if quality == 0 or quality == 1 then + return "X1_tongyong_daojukuang_dengji_01" + elseif quality == 2 then + return "X1_tongyong_daojukuang_dengji_02" + elseif quality == 3 then + return "X1_tongyong_daojukuang_dengji_03" + elseif quality == 4 then + return "X1_tongyong_daojukuang_dengji_04" + elseif quality == 5 then + return "X1_tongyong_daojukuang_dengji_05" + elseif quality == 6 then + return "X1_tongyong_daojukuang_dengji_06" + elseif quality >= 7 then + return "X1_tongyong_daojukuang_dengji_06" + end + end end function GetCardFrame(star) @@ -948,9 +958,9 @@ function GetHeroChipQuantityImageByquality(quality) end --通过Hero稀有度读取背景框(小) -function GetHeroQuantityImageByquality(quality,star) - if star then--and star > 5 - if star == 1 then +function GetHeroQuantityImageByquality(quality, star) + if star then --and star > 5 + if star == 1 then return "X1_tongyong_daojukuang_01" elseif star == 2 then return "X1_tongyong_daojukuang_02" @@ -960,7 +970,7 @@ function GetHeroQuantityImageByquality(quality,star) return "X1_tongyong_daojukuang_04" elseif star == 5 then return "X1_tongyong_daojukuang_05" - elseif star >= 6 and star <=10 then + elseif star >= 6 and star <= 10 then return "X1_tongyong_daojukuang_06" elseif star > 10 then return "X1_tongyong_daojukuang_06" @@ -996,6 +1006,7 @@ function GetHeroCardQuantityWaiImageByquality(quality) return "r_hero_huangkuang" end end + -- --通过Hero或异妖稀有度读取资质框 -- function GetQuantityImage(quality) -- local sprite @@ -1098,30 +1109,30 @@ end --获取技能类型 data 当前技能数据 function GetSkillType(data) - local SkillIconType={"N1_iconbg_tongyong_baise","N1_iconbg_tongyong_baise","N1_iconbg_tongyong_baise"} + local SkillIconType = { "N1_iconbg_tongyong_baise", "N1_iconbg_tongyong_baise", "N1_iconbg_tongyong_baise" } if data.skillConfig.Type == SkillType.Pu then - return SkillIconType[SkillType.Pu]--普技 + return SkillIconType[SkillType.Pu] --普技 elseif data.skillConfig.Type == SkillType.Jue then - return SkillIconType[SkillType.Jue]--绝技 + return SkillIconType[SkillType.Jue] --绝技 elseif data.skillConfig.Type == SkillType.Bei then - return SkillIconType[SkillType.Bei]--被动技 + return SkillIconType[SkillType.Bei] --被动技 end end -- --通过角色属性获取角色属性图标 -- function GetProStrImageByProNum(_index) -- if _index == 1 then --- return "N1_groupicon_tongyongweixuanzhong_yingguo" +-- return "N1_groupicon_tongyongweixuanzhong_yingguo" -- elseif _index == 2 then --- return "N1_groupicon_tongyongweixuanzhong_sulian" +-- return "N1_groupicon_tongyongweixuanzhong_sulian" -- elseif _index == 3 then --- return "N1_groupicon_tongyongweixuanzhong_faguo" +-- return "N1_groupicon_tongyongweixuanzhong_faguo" -- elseif _index == 4 then --- return "N1_groupicon_tongyongweixuanzhong_meiguo" +-- return "N1_groupicon_tongyongweixuanzhong_meiguo" -- elseif _index == 5 then --- return "N1_groupicon_tongyongweixuanzhong_deguo" +-- return "N1_groupicon_tongyongweixuanzhong_deguo" -- else --- return "N1_groupicon_tongyongweixuanzhong_quanbu" +-- return "N1_groupicon_tongyongweixuanzhong_quanbu" -- end -- end @@ -1240,73 +1251,74 @@ function GetAreaNameIconByAreaNumer(index) elseif index == 8 then return "r_guaji_wanshenghuanghun" end - end --根据英雄品质获取抽卡英雄颜色 function GetColorByHeroQua(_Qua) if _Qua == 1 then - return Color.New(152/255,99/255,103/255,1) + return Color.New(152 / 255, 99 / 255, 103 / 255, 1) elseif _Qua == 2 then - return Color.New(166/255,238/255,165/255,1) + return Color.New(166 / 255, 238 / 255, 165 / 255, 1) elseif _Qua == 3 then - return Color.New(23/255,158/255,255/255,1) + return Color.New(23 / 255, 158 / 255, 255 / 255, 1) elseif _Qua == 4 then - return Color.New(209/255,112/255,255/255,1) + return Color.New(209 / 255, 112 / 255, 255 / 255, 1) elseif _Qua == 5 then - return Color.New(255/255,156/255,42/255,1) + return Color.New(255 / 255, 156 / 255, 42 / 255, 1) elseif _Qua == 6 then - return Color.New(255/255,73/255,73/255,1) + return Color.New(255 / 255, 73 / 255, 73 / 255, 1) elseif _Qua >= 7 then - return Color.New(255/255,73/255,73/255,1) + return Color.New(255 / 255, 73 / 255, 73 / 255, 1) end end --根据英雄品质获取抽卡英雄进入时颜色 function GetColorByHeroEnterQua(_Qua) if _Qua == 1 then - return Color.New(150/255,143/255,154/255,0) + return Color.New(150 / 255, 143 / 255, 154 / 255, 0) elseif _Qua == 2 then - return Color.New(166/255,238/255,165/255,0) + return Color.New(166 / 255, 238 / 255, 165 / 255, 0) elseif _Qua == 3 then - return Color.New(16/255,58/255,255/255,0) + return Color.New(16 / 255, 58 / 255, 255 / 255, 0) elseif _Qua == 4 then - return Color.New(209/255,112/255,255/255,0) + return Color.New(209 / 255, 112 / 255, 255 / 255, 0) elseif _Qua == 5 then - return Color.New(255/255,156/255,42/255,0) + return Color.New(255 / 255, 156 / 255, 42 / 255, 0) elseif _Qua == 6 then - return Color.New(255/255,73/255,73/255,0) + return Color.New(255 / 255, 73 / 255, 73 / 255, 0) elseif _Qua == 7 then - return Color.New(255/255,73/255,73/255,0) + return Color.New(255 / 255, 73 / 255, 73 / 255, 0) end end --- N钟,N时,N天 function GetLeftTimeStrByDeltaTime(deltaTime) if deltaTime > 86400 then - return math.floor(deltaTime / 86400) .." ".. GetLanguageStrById(10021) + return math.floor(deltaTime / 86400) .. " " .. GetLanguageStrById(10021) end if deltaTime > 3600 then - return math.floor(deltaTime / 3600) .." ".. GetLanguageStrById(12116) + return math.floor(deltaTime / 3600) .. " " .. GetLanguageStrById(12116) end if deltaTime > 60 then - return math.floor(deltaTime / 60) .." ".. GetLanguageStrById(12117) + return math.floor(deltaTime / 60) .. " " .. GetLanguageStrById(12117) end - return math.floor(deltaTime)..GetLanguageStrById(10364) + return math.floor(deltaTime) .. GetLanguageStrById(10364) end + function GetLeftTimeStrByDeltaTime2(second) local day = math.floor(second / (24 * 3600)) local minute = math.floor(second / 60) % 60 local sec = math.floor(second % 60) local hour = math.floor(math.floor(second - day * 24 * 3600 - sec - minute * 60) / 3600) if second > 86400 then - return " ".. day .." ".. GetLanguageStrById(10021).." "..hour .." "..GetLanguageStrById(10993) + return " " .. day .. " " .. GetLanguageStrById(10021) .. " " .. hour .. " " .. GetLanguageStrById(10993) end if second > 3600 then - return " ".. hour .." ".. GetLanguageStrById(10993).." "..minute .." ".. GetLanguageStrById(12117) + return " " .. hour .. " " .. GetLanguageStrById(10993) .. " " .. minute .. " " .. GetLanguageStrById(12117) end - return " "..minute .." ".. GetLanguageStrById(12117) .." ".. sec .. GetLanguageStrById(10364) + return " " .. minute .. " " .. GetLanguageStrById(12117) .. " " .. sec .. GetLanguageStrById(10364) end + --- 获取经历的时间字符串 --- 刚刚,N分钟前,N小时前,N天前 function GetDeltaTimeStrByDeltaTime(deltaTime) @@ -1321,11 +1333,13 @@ function GetDeltaTimeStrByDeltaTime(deltaTime) end return GetLanguageStrById(10824) end + function GetDeltaTimeStr(timestamp) local curTimeStemp = GetTimeStamp() local deltaTime = curTimeStemp - timestamp return GetDeltaTimeStrByDeltaTime(deltaTime) end + --- 计算公式 a*x^3 + b*x^2 + c*x +d --- 1、 CalculateCostCount(x, a, b, c, d) --- 2、 CalculateCostCount(x, array) @@ -1383,7 +1397,7 @@ function CalculateSecondsNowTo_N_OClock(n) end end -function TimeToFelaxible(second)--大于一天用多少天多少小时,小于一天用00:00:00 +function TimeToFelaxible(second) --大于一天用多少天多少小时,小于一天用00:00:00 if second <= 86400 then if not second or second < 0 then return "00:00:00" @@ -1398,9 +1412,8 @@ function TimeToFelaxible(second)--大于一天用多少天多少小时,小于 local minute = math.floor(second / 60) % 60 local sec = second % 60 local hour = math.floor(math.floor(second - day * 24 * 3600 - sec - minute * 60) / 3600) - return string.format(GetLanguageStrById(12278),day, hour) + return string.format(GetLanguageStrById(12278), day, hour) end - end --- 将一段时间转换为天时分秒 @@ -1409,7 +1422,7 @@ function TimeToDHMS(second) local minute = math.floor(second / 60) % 60 local sec = second % 60 local hour = math.floor(math.floor(second - day * 24 * 3600 - sec - minute * 60) / 3600) - return string.format(GetLanguageStrById(10548),day, hour, minute, sec) + return string.format(GetLanguageStrById(10548), day, hour, minute, sec) end --- 将一段时间转换为天时分 @@ -1418,7 +1431,7 @@ function TimeToDHM(second) local minute = math.floor(second / 60) % 60 local sec = second % 60 local hour = math.floor(math.floor(second - day * 24 * 3600 - sec - minute * 60) / 3600) - return string.format(GetLanguageStrById(10548),day, hour, minute) + return string.format(GetLanguageStrById(10548), day, hour, minute) end --- 将一段时间转换为天时 @@ -1427,7 +1440,7 @@ function TimeToDH(second) local minute = math.floor(second / 60) % 60 local sec = second % 60 local hour = math.floor(math.floor(second - day * 24 * 3600 - sec - minute * 60) / 3600) - return string.format(GetLanguageStrById(12278),day, hour) + return string.format(GetLanguageStrById(12278), day, hour) end --- 将一段时间转换为时 @@ -1438,6 +1451,7 @@ function TimeToH(second) local hour = math.floor(math.floor(second - day * 24 * 3600 - sec - minute * 60) / 3600) return string.format(GetLanguageStrById(11751), hour) end + --- 将一段时间转换为时分秒 function TimeToHMS(t) if not t or t < 0 then @@ -1449,10 +1463,11 @@ function TimeToHMS(t) local _hour = math.floor(allMin / 60) return string.format("%02d:%02d:%02d", _hour, _min, _sec), _hour, _min, _sec end + --- 将一段时间转换为时分秒,分开返回 function TimeToH_M_S(t) if not t or t < 0 then - return "00:00:00" + return 0, 0, "00:00:00" end local _sec = t % 60 local allMin = math.floor(t / 60) @@ -1493,9 +1508,10 @@ end -- 将一段时间转换为月日 function TimeToMD(t) if GetChannelConfig().ListID == "Android_Funtap" or GetChannelConfig().ListID == "iOS_Funtap" then - return os.date(" "..GetLanguageStrById(12303).." ".."%d".." "..GetLanguageStrById(12360).." ".."%m", t) + return os.date(" " .. GetLanguageStrById(12303) .. " " .. "%d" .. " " .. GetLanguageStrById(12360) .. " " .. "%m", + t) end - return os.date("%m"..GetLanguageStrById(12360).."%d"..GetLanguageStrById(12303), t) + return os.date("%m" .. GetLanguageStrById(12360) .. "%d" .. GetLanguageStrById(12303), t) end --- 获取今天某时间点时间戳 @@ -1604,6 +1620,7 @@ function GetPropertyFormatStr(type, value) end end end + --统用属性展示 function GetPropertyFormatStrOne(type, value) if type == 1 then @@ -1616,6 +1633,7 @@ function GetPropertyFormatStrOne(type, value) end end end + --装备专属属性展示 function GetEquipPropertyFormatStr(type, value) if type == 1 then @@ -1628,6 +1646,7 @@ function GetEquipPropertyFormatStr(type, value) end end end + -- 将秒转换成显示使用的时间 function FormatSecond(second) local day = math.floor(second / (24 * 3600)) @@ -1647,6 +1666,7 @@ function TimeStampToDateStr(timestamp) end return string.format(GetLanguageStrById(12119), date.year, date.month, date.day, date.hour, date.min) end + -- 将时间戳转换为用于显示的日期字符串(时分秒) function TimeStampToDateStr3(second) local minute = math.floor(second / 60) % 60 @@ -1680,17 +1700,17 @@ end function GetPlayerHeadSprite(headId) if headId == 0 then if PlayerManager.sex then - headId = 71000 + headId = 71000 else - headId = 70999 + headId = 70999 end - end + end local head = ConfigManager.GetConfigData(ConfigName.ItemConfig, headId) if not head then - LogError("储存的头像不对:"..headId) + LogError("储存的头像不对:" .. headId) if PlayerManager.sex then headId = 71000 - else + else headId = 70999 end head = ConfigManager.GetConfigData(ConfigName.ItemConfig, headId) @@ -1730,7 +1750,7 @@ function SubmitExtraData(context) params.serverID = tonumber(PlayerManager.serverInfo.server_id) params.serverName = PlayerManager.serverInfo.name params.zoneID = PlayerManager.serverInfo.area - params.zoneName = AppConst.AppID--特殊参数 (台湾)guid#游戏的区id + params.zoneName = AppConst.AppID --特殊参数 (台湾)guid#游戏的区id params.roleID = tostring(PlayerManager.uid) params.roleName = PlayerManager.nickName params.roleLevel = tostring(PlayerManager.level) @@ -1750,7 +1770,7 @@ end function CallBackOnPanelClose(uiPanel, func) if UIManager.IsOpen(uiPanel) then local triggerCallBack - triggerCallBack = function (panelType, panel) + triggerCallBack = function(panelType, panel) if panelType == uiPanel then if func then func() end Game.GlobalEvent:RemoveEvent(GameEvent.UI.OnClose, triggerCallBack) @@ -1766,12 +1786,12 @@ end function CallBackOnPanelOpen(uiPanel, func) if not UIManager.IsOpen(uiPanel) then local triggerCallBack - triggerCallBack = function (panelType, panel) + triggerCallBack = function(panelType, panel) if panelType == uiPanel then if func then func() end Game.GlobalEvent:RemoveEvent(GameEvent.UI.OnOpen, triggerCallBack) - end end + end Game.GlobalEvent:AddEvent(GameEvent.UI.OnOpen, triggerCallBack) else if func then func() end @@ -1782,17 +1802,16 @@ end function SetObjPosByUV(pos) local u, v = Map_Pos2UV(pos) local v2 = RectTransformUtility.WorldToScreenPoint(TileMapView.GetCamera(), TileMapView.GetLiveTilePos(u, v)) - v2 = v2 / math.min(Screen.width/1080, Screen.height/1920) + v2 = v2 / math.min(Screen.width / 1080, Screen.height / 1920) v2.x = v2.x - (Screen.width - UIManager.width) / 2 v2.y = v2.y - (Screen.height - UIManager.height) / 2 return v2 - end --获取技能描述 notColor不加颜色 --arrayType desc v c 维数 function GetSkillConfigDesc(cfg, notColor, arrayType) - local arrayType = arrayType or 2 -- 暂时默认2维 + local arrayType = arrayType or 2 -- 暂时默认2维 if arrayType == 1 then if cfg.DescColor then local ss = {} @@ -1842,7 +1861,7 @@ function GetSkillConfigDesc(cfg, notColor, arrayType) end return string.format(GetLanguageStrById(cfg.Desc[1]), unpack(ss)) end - elseif arrayType == 3 then --英雄技能描述做特殊处理 + elseif arrayType == 3 then --英雄技能描述做特殊处理 if not cfg.DescValue then return GetLanguageStrById(cfg.Desc[1]) end @@ -1874,8 +1893,8 @@ function GetSkillConfigDesc(cfg, notColor, arrayType) return "GetSkillConfigDesc Error!!" end ---后台传输多语言数据合并 -function GetMailConfigDesc(cfg, mailparam)--cfg插入内容,mailparam插入数组 +--后台传输多语言数据合并 +function GetMailConfigDesc(cfg, mailparam) --cfg插入内容,mailparam插入数组 if #mailparam > 0 then local ss = {} for i = 1, #mailparam do @@ -1885,17 +1904,17 @@ function GetMailConfigDesc(cfg, mailparam)--cfg插入内容,mailparam插入数 else local s = ""; local len = string.len(mailparam[i]) - s = string.sub(mailparam[i],3,len) + s = string.sub(mailparam[i], 3, len) ss[i] = GetLanguageStrById(s) end end return string.format(GetLanguageStrById(cfg), unpack(ss)) - -- else - -- string.format(GetLanguageStrById(cfg), mailparam) + -- else + -- string.format(GetLanguageStrById(cfg), mailparam) end return GetLanguageStrById(cfg) - end + -- 设置排名所需要的数字框 function SetRankNumFrame(rankNum) local rankNumRes = { @@ -1913,8 +1932,8 @@ end --- 本方法适用滚动条中 生成item的使用 (主要适用每条滚动条item数量不定的滚动条中) --- itemview重设复用 1根节点 2生成到父节点 3item容器 4容器上限 5缩放 6层级 7根据数据类型生成 8不定参数据... --- type=true 针对表数据为一维数据 type=false 针对表数据为二维数据 -function ResetItemView(root,rewardRoot,itemList,max,scale,sortingOrder,type,...) - local args = {...} +function ResetItemView(root, rewardRoot, itemList, max, scale, sortingOrder, type, ...) + local args = { ... } local data1 = args[1] local data2 = args[2] @@ -1923,30 +1942,31 @@ function ResetItemView(root,rewardRoot,itemList,max,scale,sortingOrder,type,...) itemList[root][i].gameObject:SetActive(false) end if type then - itemList[root][1]:OnOpen(false, {data1,data2},scale,false,false,false,sortingOrder) + itemList[root][1]:OnOpen(false, { data1, data2 }, scale, false, false, false, sortingOrder) itemList[root][1].gameObject:SetActive(true) else for i = 1, #data1 do if itemList[root][i] then - itemList[root][i]:OnOpen(false, {data1[i][1],data1[i][2]},scale,false,false,false,sortingOrder) - itemList[root][i]:Reset({data1[i][1],data1[i][2]},ItemType.Hero,{false,true,true,true}) + itemList[root][i]:OnOpen(false, { data1[i][1], data1[i][2] }, scale, false, false, false, + sortingOrder) + itemList[root][i]:Reset({ data1[i][1], data1[i][2] }, ItemType.Hero, { false, true, true, true }) itemList[root][i].gameObject:SetActive(true) end end end else -- 不存在 新建 - itemList[root]={} + itemList[root] = {} for i = 1, max do itemList[root][i] = SubUIManager.Open(SubUIConfig.ItemView, rewardRoot) itemList[root][i].gameObject:SetActive(false) end if type then - itemList[root][1]:OnOpen(false, {data1,data2},scale,false,false,false,sortingOrder) + itemList[root][1]:OnOpen(false, { data1, data2 }, scale, false, false, false, sortingOrder) itemList[root][1].gameObject:SetActive(true) else for i = 1, #data1 do - itemList[root][i]:OnOpen(false, {data1[i][1],data1[i][2]},scale,false,false,false,sortingOrder) - itemList[root][i]:Reset({data1[i][1],data1[i][2]},ItemType.Hero,{false,true,true,true}) + itemList[root][i]:OnOpen(false, { data1[i][1], data1[i][2] }, scale, false, false, false, sortingOrder) + itemList[root][i]:Reset({ data1[i][1], data1[i][2] }, ItemType.Hero, { false, true, true, true }) itemList[root][i].gameObject:SetActive(true) end end @@ -1954,7 +1974,7 @@ function ResetItemView(root,rewardRoot,itemList,max,scale,sortingOrder,type,...) end --只有英文截取长度 -function SubString2(inputstr,num) +function SubString2(inputstr, num) if GetLan() == 0 then return inputstr end @@ -1971,19 +1991,19 @@ function SubString2(inputstr,num) local curByte = string.byte(inputstr, i) local byteCount = 1 if curByte > 0 and curByte <= 127 then - byteCount = 1 --1字节字符 + byteCount = 1 --1字节字符 elseif curByte >= 192 and curByte < 223 then - byteCount = 2 --双字节字符 + byteCount = 2 --双字节字符 elseif curByte >= 224 and curByte < 239 then - byteCount = 3 --汉字 + byteCount = 3 --汉字 elseif curByte >= 240 and curByte <= 247 then - byteCount = 4 --4字节字符 + byteCount = 4 --4字节字符 end - local char = string.sub(inputstr, i, i+byteCount-1) + local char = string.sub(inputstr, i, i + byteCount - 1) -- print(char) - str = str..char - i = i + byteCount -- 重置下一字节的索引 - width = width + 1 -- 字符的个数(长度) + str = str .. char + i = i + byteCount -- 重置下一字节的索引 + width = width + 1 -- 字符的个数(长度) if width == num then if lenInByte > num then str = str .. "..." @@ -1996,7 +2016,8 @@ function SubString2(inputstr,num) end return str end ---> 连接live + +--> 连接live function ConnectTankName(fabName, isDown) local strNameConnect = "up" if isDown then @@ -2019,9 +2040,9 @@ end function GetProDataStr(id, value) local style = G_PropertyConfig[id].Style local str = "" - if style == 1 then --< 绝对值 + if style == 1 then --< 绝对值 str = GetPropertyFormatStr(1, value) - elseif style == 2 then --< 百分比 + elseif style == 2 then --< 百分比 str = GetPropertyFormatStr(2, value) end return str @@ -2181,7 +2202,7 @@ end function ServerDropAdd(...) local newDrop = {} - local args = {...} + local args = { ... } for i = 1, #args do local drop = args[i] if drop.itemlist ~= nil and #drop.itemlist > 0 then @@ -2236,16 +2257,16 @@ function F_DoubleTableProCompound(allProVal, addProVal) end end -function SecTorPlayAnimByScroll(scroll,_scale) +function SecTorPlayAnimByScroll(scroll, _scale) local scale = 0.05 if _scale then scale = _scale end - scroll:ForeachItemGO(function (index, go) - Timer.New(function () + scroll:ForeachItemGO(function(index, go) + Timer.New(function() go.gameObject:SetActive(true) PlayUIAnim(go.gameObject) - end, scale*(index-1)):Start() + end, scale * (index - 1)):Start() end) end @@ -2256,7 +2277,8 @@ function LoadHerolive(_heroConfig, _objPoint, isStatic) --动态加载立绘 local liveName = artResourcesConfig[_heroConfig.RoleImage].Name if liveName == "lihui_baiqi" then liveName = "lihui_baiqi_01" end - local testLive = poolManager:LoadLive(liveName, _objPoint.transform, Vector3.one * _heroConfig.Scale, Vector3.New(_heroConfig.Position[1], _heroConfig.Position[2], 0)) + local testLive = poolManager:LoadLive(liveName, _objPoint.transform, Vector3.one * _heroConfig.Scale, + Vector3.New(_heroConfig.Position[1], _heroConfig.Position[2], 0)) local SkeletonGraphic = testLive:GetComponent("SkeletonGraphic") return testLive else @@ -2271,18 +2293,19 @@ function LoadHerolive(_heroConfig, _objPoint, isStatic) return roleStaticImg end end + --卸载立绘 -function UnLoadHerolive(_heroConfig,_obj) +function UnLoadHerolive(_heroConfig, _obj) local artResourcesConfig = ConfigManager.GetConfig(ConfigName.ArtResourcesConfig) if _heroConfig.RoleImage ~= 0 then poolManager:UnLoadLive(artResourcesConfig[_heroConfig.RoleImage].Name, _obj) - else + else poolManager:UnLoadAsset("TestImg", _obj, PoolManager.AssetType.gameObject) end end --延迟显示List里的item -function DelayCreation(list,maxIndex) +function DelayCreation(list, maxIndex) if list == nil then return end if #list == 0 then return end for i = 1, #list do @@ -2300,7 +2323,7 @@ function DelayCreation(list,maxIndex) maxIndex = #list end - _timer = Timer.New(function () + _timer = Timer.New(function() if _index == maxIndex + 1 then if _timer then _timer:Stop() @@ -2308,11 +2331,11 @@ function DelayCreation(list,maxIndex) end if list[_index] then list[_index]:SetActive(true) - Timer.New(function () + Timer.New(function() _index = _index + 1 - end,time):Start() + end, time):Start() end - end,time,maxIndex + 1):Start() + end, time, maxIndex + 1):Start() end --刷新战力 @@ -2328,7 +2351,7 @@ function RefreshPower(_oldPower, _newPower) newPower = FormationManager.GetFormationPower(FormationTypeDef.FORMATION_NORMAL) end if oldPower ~= newPower then - UIManager.OpenPanel(UIName.WarPowerChangeNotifyPanelV2,{oldValue = oldPower, newValue = newPower}) + UIManager.OpenPanel(UIName.WarPowerChangeNotifyPanelV2, { oldValue = oldPower, newValue = newPower }) Game.GlobalEvent:DispatchEvent(GameEvent.Player.OnPowerChange) end end @@ -2393,9 +2416,9 @@ end function SetItemCountColor(txt, id, num2) local num1 = BagManager.GetItemCountById(id) if num1 < num2 then - txt.text = string.format("%s/%s", PrintWanNum3(num1), PrintWanNum3(num2)) + txt.text = string.format("%s/%s", PrintWanNum3(num1), PrintWanNum3(num2)) else - txt.text = string.format("%s/%s", PrintWanNum3(num1), PrintWanNum3(num2)) + txt.text = string.format("%s/%s", PrintWanNum3(num1), PrintWanNum3(num2)) end end @@ -2452,7 +2475,7 @@ function GetNewChatMsg(msg) local list = {} local len = 1 local index = 1 - if msg~=nil then + if msg ~= nil then for i = 1, string.len(msg) do if index == i then local s = string.sub(msg, i, i) @@ -2460,21 +2483,21 @@ function GetNewChatMsg(msg) if #list ~= 0 then len = len + 1 end - list[len] = s..string.sub(msg, i+1, i+1)..string.sub(msg, i+2, i+2) + list[len] = s .. string.sub(msg, i + 1, i + 1) .. string.sub(msg, i + 2, i + 2) len = len + 1 index = i + 3 else if not list[len] then list[len] = s else - list[len] = list[len]..s + list[len] = list[len] .. s end index = i + 1 end end end end - + local _list = {} for key, value in pairs(list) do table.insert(_list, value) @@ -2490,13 +2513,13 @@ function GetNewChatMsg(msg) if string.sub(list[i], 1, 1) == "#" then local config = ConfigManager.GetConfigDataByKey(ConfigName.ExpressionConfig, "Esc", list[i]) if config then - local id = tonumber(config.Id)-1 - newStr = newStr.."" + local id = tonumber(config.Id) - 1 + newStr = newStr .. "" else - newStr = newStr..list[i] + newStr = newStr .. list[i] end else - newStr = newStr..list[i] + newStr = newStr .. list[i] end end return newStr @@ -2524,4 +2547,4 @@ function CompareNum(bagNum, needNum) else return string.format("%s/%s", PrintWanNum2(bagNum), PrintWanNum2(needNum)) end -end \ No newline at end of file +end