ro-table/Asstes/Resources/Script/Main/StrTablesManager.txt
2025-06-04 05:02:57 +08:00

41 lines
1.1 KiB
Plaintext

StrTablesManager = class("StrTablesManager")
function StrTablesManager.GetData(tableName, key)
--local time1 = os.clock()
local strTable = _G[tableName .. "_s"]
if (nil == strTable) then
redlog("Trying to access " .. tableName .. "_s but it's not exist")
return nil
end
local strData = strTable[key]
if (nil == strData or '' == strData) then
return nil
end
strData = string.gsub(strData, "\\", "\\\\")
strData = string.gsub(strData, "\n", "\\n")
local funcData = loadstring("return " .. strData)
if (nil == funcData) then
redlog("Data Cannot Parse: " .. strData)
return nil
end
local data = funcData()
_G[tableName][key] = data
strTable[key] = nil
--local time2 = os.clock()
--helplog("Parse Data Cost Time: " .. time2 .. " - " .. time1 .. " = " .. time2 - time1)
return data
end
function StrTablesManager.ProcessMonsterOrNPC(data)
if (nil ~= data) then
if (nil ~= data.SpawnSE and '' ~= data.SpawnSE) then
data.SE = string.split(data.SpawnSE, '-')
end
data.Race_Parsed = CommonFun.ParseRace(data.Race)
data.Nature_Parsed = CommonFun.ParseNature(data.Nature)
end
return data
end