-
-
Notifications
You must be signed in to change notification settings - Fork 20
Fixed object reference duplicate in arrays #19 #20
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
7 commits
Select commit
Hold shift + click to select a range
02fb8a9
Update SerializableInterfacePropertyDrawer.cs
marc-antoine-girard c69d2e1
Clean up SerializableInterfacePropertyDrawer.cs
marc-antoine-girard ba10941
Update SerializableInterfacePropertyDrawer.cs
marc-antoine-girard d6e8d0b
Update SerializableInterfacePropertyDrawer.cs
marc-antoine-girard ae0f89f
Moved changes to RawReferenceDrawer
marc-antoine-girard 0a43f4e
Forgot a managedReferenceValue
marc-antoine-girard 9fd9c18
Added changes requested
marc-antoine-girard File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you explain the reason for making this static?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It used to be a local variable in SerializableInterfacePropertyDrawer.cs. The goal was to store the last element and check if the new element's rawReference object points to the same instance as the previous one. If it does AND this isn't actually the same variable (we know that using the propertyPath, see line 115 in RawReferenceDrawer.cs), then we need to create a new instance and reassign the values (line 124 - 125 in RawReferenceDrawer.cs). I've moved the code to RawReferenceDrawer.cs since it made more sense because it only applies to rawReferences, but since we always create a new instance for that drawer, we either need to pass the values of the previous object to its constructor, or save it in a static variable.
Passing it using the constructor would also add unnecessary code in SerializableInterfacePropertyDrawer.cs. So the static way made sense in that regard. I hope it clears up things a bit. Also, it wouldn't need to be static if the instance of ReferenceDrawers where reused :)