Fix old tokens being given zero opacity when added to a campaign #3987
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.
Identify the Bug or Feature request
#3986
Description of the Change
It used to be that
Token.tokenOpacity
would use the default value of0
when an old token was loaded that didn't have the field. This would be modified into1
so that the token would be opaque instead of transparent.Now that we support real zero opacity, we need another default value so that we distinguish it. The field is now a
Float
instead of afloat
so thatnull
is now the default, and a value of0
can be relied on as meaning fully transparent.readResolve()
is also now responsible for fixing up the opacity rather than leaving that for the getter.Some cleanup is also included as
getTokenOpacity()
now longer needs to range-check the value, and we don't need a separate and public-facingsetTokenOpacity()
for string values.Possible Drawbacks
None
Documentation Notes
N/A
Release Notes
N/A
This change is