e
This commit is contained in:
1 parent
1a92ff1bd2
commit
91bf28a728
65 files changed
+2587
-240
No files matched your search
@@ -0,0 +1,89 @@
|
||||
local function deepcopy(orig, copies)
|
||||
copies = copies or {}
|
||||
|
||||
if type(orig) ~= 'table' then
|
||||
return orig
|
||||
elseif copies[orig] then
|
||||
return copies[orig]
|
||||
end
|
||||
|
||||
local copy = {}
|
||||
copies[orig] = copy
|
||||
|
||||
for k, v in next, orig, nil do
|
||||
local copied_key = deepcopy(k, copies)
|
||||
local copied_val = deepcopy(v, copies)
|
||||
copy[copied_key] = copied_val
|
||||
end
|
||||
|
||||
return copy
|
||||
end
|
||||
|
||||
local _VG=deepcopy(_G)
|
||||
local lua = {
|
||||
coroutine = true,
|
||||
debug = true,
|
||||
_HOST = true,
|
||||
_VERSION = true,
|
||||
assert = true,
|
||||
collectgarbage = true,
|
||||
error = true,
|
||||
gcinfo = true,
|
||||
getfenv = true,
|
||||
getmetatable = true,
|
||||
ipairs = true,
|
||||
__inext = true,
|
||||
load = true,
|
||||
math = true,
|
||||
next = true,
|
||||
pairs = true,
|
||||
pcall = true,
|
||||
rawequal = true,
|
||||
rawget = true,
|
||||
rawlen = true,
|
||||
rawset = true,
|
||||
select = true,
|
||||
setfenv = true,
|
||||
setmetatable = true,
|
||||
string = true,
|
||||
table = true,
|
||||
tonumber = true,
|
||||
tostring = true,
|
||||
type = true,
|
||||
xpcall = true
|
||||
}
|
||||
|
||||
for i,v in pairs(_VG) do
|
||||
if not lua[i] then
|
||||
_VG[i]=nil
|
||||
end
|
||||
end
|
||||
_VG._G=_VG
|
||||
|
||||
_VG.component={}
|
||||
function _VG.component.list()
|
||||
local i = 0
|
||||
return function()
|
||||
i=i+1
|
||||
if aceVM.INTERNAL_COMPONENT_REGESTRY[i] then
|
||||
return aceVM.INTERNAL_COMPONENT_REGESTRY[i]["type"], aceVM.INTERNAL_COMPONENT_REGESTRY[i]["object"]
|
||||
else
|
||||
return
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function _VG.component.getFirst(type)
|
||||
local object={}
|
||||
for i,v in pairs(aceVM.INTERNAL_COMPONENT_REGESTRY) do
|
||||
if aceVM.INTERNAL_COMPONENT_REGESTRY[i].type == type then
|
||||
object=aceVM.INTERNAL_COMPONENT_REGESTRY[i]
|
||||
break
|
||||
end
|
||||
end
|
||||
return object["object"]
|
||||
end
|
||||
|
||||
function aceVM.initVenv()
|
||||
aceVM._VG = deepcopy(_VG)
|
||||
end
|
||||
Reference in new issue
Block a user