mirror of
https://github.com/rojo-rbx/rojo.git
synced 2026-04-21 13:15:50 +00:00
config_map -> instance_metadata_map
This commit is contained in:
@@ -46,15 +46,15 @@ local function setProperty(instance, key, value)
|
||||
end
|
||||
end
|
||||
|
||||
local function shouldClearUnknown(id, configMap)
|
||||
if configMap[id] then
|
||||
return not configMap[id].ignoreUnknown
|
||||
local function shouldClearUnknown(id, instanceMetadataMap)
|
||||
if instanceMetadataMap[id] then
|
||||
return not instanceMetadataMap[id].ignoreUnknown
|
||||
else
|
||||
return true
|
||||
end
|
||||
end
|
||||
|
||||
local function reify(instanceData, instanceMap, configMap, id, parent)
|
||||
local function reify(instanceData, instanceMap, instanceMetadataMap, id, parent)
|
||||
local data = instanceData[id]
|
||||
|
||||
local instance = Instance.new(data.ClassName)
|
||||
@@ -67,7 +67,7 @@ local function reify(instanceData, instanceMap, configMap, id, parent)
|
||||
instance.Name = data.Name
|
||||
|
||||
for _, childId in ipairs(data.Children) do
|
||||
reify(instanceData, instanceMap, configMap, childId, instance)
|
||||
reify(instanceData, instanceMap, instanceMetadataMap, childId, instance)
|
||||
end
|
||||
|
||||
setProperty(instance, "Parent", parent)
|
||||
@@ -76,7 +76,7 @@ local function reify(instanceData, instanceMap, configMap, id, parent)
|
||||
return instance
|
||||
end
|
||||
|
||||
local function reconcile(instanceData, instanceMap, configMap, id, existingInstance)
|
||||
local function reconcile(instanceData, instanceMap, instanceMetadataMap, id, existingInstance)
|
||||
local data = instanceData[id]
|
||||
|
||||
assert(data.ClassName == existingInstance.ClassName)
|
||||
@@ -111,13 +111,13 @@ local function reconcile(instanceData, instanceMap, configMap, id, existingInsta
|
||||
|
||||
if existingChildInstance ~= nil then
|
||||
unvisitedExistingChildren[existingChildInstance] = nil
|
||||
reconcile(instanceData, instanceMap, configMap, childId, existingChildInstance)
|
||||
reconcile(instanceData, instanceMap, instanceMetadataMap, childId, existingChildInstance)
|
||||
else
|
||||
reify(instanceData, instanceMap, configMap, childId, existingInstance)
|
||||
reify(instanceData, instanceMap, instanceMetadataMap, childId, existingInstance)
|
||||
end
|
||||
end
|
||||
|
||||
if shouldClearUnknown(id, configMap) then
|
||||
if shouldClearUnknown(id, instanceMetadataMap) then
|
||||
for existingChildInstance in pairs(unvisitedExistingChildren) do
|
||||
instanceMap:removeInstance(existingChildInstance)
|
||||
existingChildInstance:Destroy()
|
||||
@@ -168,7 +168,7 @@ function Session.new()
|
||||
end
|
||||
else
|
||||
if instance ~= nil then
|
||||
reconcile(response.instances, instanceMap, api.configMap, id, instance)
|
||||
reconcile(response.instances, instanceMap, api.instanceMetadataMap, id, instance)
|
||||
else
|
||||
error("TODO: Crawl up to nearest parent, use that?")
|
||||
end
|
||||
@@ -182,8 +182,8 @@ function Session.new()
|
||||
return api:read({api.rootInstanceId})
|
||||
end)
|
||||
:andThen(function(response)
|
||||
reconcile(response.instances, instanceMap, api.configMap, api.rootInstanceId, game)
|
||||
-- reify(response.instances, instanceMap, configMap, api.rootInstanceId, game.ReplicatedStorage)
|
||||
reconcile(response.instances, instanceMap, api.instanceMetadataMap, api.rootInstanceId, game)
|
||||
-- reify(response.instances, instanceMap, instanceMetadataMap, api.rootInstanceId, game.ReplicatedStorage)
|
||||
return api:retrieveMessages()
|
||||
end)
|
||||
:catch(function(message)
|
||||
|
||||
Reference in New Issue
Block a user