Support changing instance ClassName

This commit is contained in:
Lucien Greathouse
2019-01-02 14:19:41 -08:00
parent 8c2e430a56
commit 77c10d14c9

View File

@@ -100,7 +100,13 @@ end
local function reconcile(instanceData, instanceMap, instanceMetadataMap, id, existingInstance)
local data = instanceData[id]
assert(data.ClassName == existingInstance.ClassName)
if data.ClassName ~= existingInstance.ClassName then
-- TODO: Preserve existing children instead?
local parent = existingInstance.Parent
instanceMap:destroyId(id)
reify(instanceData, instanceMap, instanceMetadataMap, id, parent)
return
end
for key, value in pairs(data.Properties) do
setProperty(existingInstance, key, value.Value)