41 lines
1.1 KiB
Plaintext
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
|