Initial version - 1.2.0.60

EN: 1.2.0.60
CN: 1.2.0.61
JP: 1.2.0.63
KR: 1.2.0.67
This commit is contained in:
SL1900
2025-12-03 01:00:00 +09:00
commit 5e0d58cfad
3595 changed files with 9373562 additions and 0 deletions
+41
View File
@@ -0,0 +1,41 @@
local PB = require("pb")
local ipairs = ipairs
local rawget = rawget
local setmetatable = setmetatable
local ConfigData = require("GameCore.Data.ConfigData")
local ReadTable = {}
function ReadTable:__index(k)
local raw = rawget(self, "raw")
local meta = rawget(self, "meta")
local lang = meta.lang
local loaded = meta.loaded
local pbName = meta.pbName
local langs = meta.langs
local line = raw[k]
if langs ~= nil and lang == nil and not loaded then
lang = ConfigData.LoadLanguageTable(LanguageTable.GetType(), pbName)
meta.lang = lang
meta.loaded = true
end
if nil ~= line then
local lineInstance = assert(PB.decode("nova.client." .. pbName, line))
if langs ~= nil then
for _, v in ipairs(langs) do
local field = lineInstance[v]
if field ~= nil and lang ~= nil then
lineInstance[v] = lang[field] or ""
end
end
end
return lineInstance
end
end
function LoadDataTable(meta, raw, lang)
local newTable = {
raw = raw,
meta = meta,
lang = lang
}
setmetatable(newTable, ReadTable)
return newTable
end