Seralization and deserialized of typed properties in array #175
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
An alternative approach to #162
The array serialization/deserialization is working in the test for Color.
Outstanding questions
Should a reference deserialize into the entity itself or a reference type?
ie. What would make more sense?
get_array("Equipment") return Array[PandoraReference] and you manually .map(func(r): return r.get_entity())
or we do that step ourselves in the deserialization
get_array("Equipment") return Array[PandoraEntity] which feels a bit more logical to hide the reference.
Old save/load cycle
New array code.
However, I am struggling a bit with the test because the minute I call either of
something inside of the ._entities dictionary is loading a recursive reference because running
Throws millions of exceptions (forever).
I've tried to introspect the objects in the dictionary but I can't for the life of me work out what reference if circular and what property on PandoraEntity is being introspected. Throwing this up to get feedback on the approach and to see if anyone can help debug why I can't do an is_equal comparison on them.
My hypothesis is that the value loaded into .property_map has a reference to itself but it's hard to print the stack and I can't breakpoint since there's no error, just a bunch of warnings in a loop.