Updated SerializableInterface.cs to use safe casting #32
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.
Description
Fixes #31.
This is a weird bug, because it only happens when the
ReferenceMode modevariable is defaulted toReferenceMode.Unity. A quick fix would have been to make it equal toReferenceMode.Raw, but this implementation makes also a lot of sense. This is simply a safer way to cast.Adding the
where TInterface : classalso removes some warning about potential boxing.Note
Right now, while the fields are defaulted to

ReferenceMode.Unity, elements in lists are not and will showNone (Mono Script). It seems Unity instantiates the class, but then changes all the fields to a default value.This means that switching the order of the values in the enum would make
ReferenceMode.Unitythe default one, and apparently, it is true: