config_map -> instance_metadata_map

This commit is contained in:
Lucien Greathouse
2019-01-01 14:13:21 -08:00
parent 474d877290
commit 3be5988083
4 changed files with 27 additions and 27 deletions

View File

@@ -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)