I created a table (??? think that's what it's called) named
TRUESYS.MD, that will always have my metadata available.
I then have another function that runs to check if
TRYESYS.MD[1] is greater than the current version of my package, and if so, empties the package then using
RDXDB.SetPackageMetadata I reassign all of my metadata.
This doesn't seem to work for me, though. Do you see anything blatantly wrong, Sigg? I end up with no metadata at all after emptying the package, even after supposedly reassigning all of my metadata.
lua Code:
TRUESYS.PKG = {
"true_core",
"true_unitframes",
"true_multiframes"
};
TRUESYS.MD = {
"1.1",
"Unlimit",
"Demon Soul US",
"manversuspixel.com",
"(True) Adaptive User Interface",
"infoIsShare",
"infoIsImmutable",
"infoIsIndelible"
};
RDXEvents:Bind("INIT_DATABASE_LOADED", nil, function()
if not RDXDB.GetPackage(TRUESYS.PKG[1]) then return nil; end
if not RDXDB.GetPackageMetadata(TRUESYS.PKG[1], "infoVersion") then return nil; end
if RDXDB.GetPackageMetadata(TRUESYS.PKG[1], "infoVersion") < TRUESYS.MD[1] then
RDX.print("Updating (True) Adaptive User Interface to the latest version!");
for i=1,3 do
RDXDB._EmptyPackage(TRUESYS.PKG[i])
for g=1,9 do
RDXDB.SetPackageMetadata(TRUESYS.PKG[i], TRUESYS.MD[g], true)
end
end
end
end);
RDXEvents:Bind("INIT_DATABASE_LOADED", nil, function()
-- Define a local to package name and set package metadata
local core = RDXDB.GetOrCreatePackage(TRUESYS.PKG[1]);
local unitframes = RDXDB.GetOrCreatePackage(TRUESYS.PKG[2]);
local multiframes = RDXDB.GetOrCreatePackage(TRUESYS.PKG[3]);
for i=1,3 do
for g=1,9 do
RDXDB.SetPackageMetadata(TRUESYS.PKG[i], TRUESYS.MD[g], true)
end
end
-- Do stuff
end);