Fixes for fundamental flaws with TMP animators#263
Open
lclandrews wants to merge 1 commit intoannulusgames:mainfrom
Open
Fixes for fundamental flaws with TMP animators#263lclandrews wants to merge 1 commit intoannulusgames:mainfrom
lclandrews wants to merge 1 commit intoannulusgames:mainfrom
Conversation
The previous implementation would never reset the animator or return it to the pool as isDirty was not set back to false upon completion. This resolves this by introducing a per character dirty flag to ensure that dirty animators can be tracked more effectively. This has however required introducing minor allocations through the closures capturing the character index and animator within the extension methods.
Author
|
I understand that the introduced allocations are not ideal; however, without further context being added to the WithOnComplete method and callback, I could not find a more appropriate solution. I would be happy to continue further development of this fix if you have suggestions on how this can be resolved. |
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
The previous implementation would never reset the animator or return it to the pool as isDirty was not set back to false upon completion. The requirements for returning the the pool where based on TryUpdate returning false. This method only returned false if the target is null. The target was only set to null internall during it's return to the pool so animators are only released if the target object is destroyed entirely.
This resolves this by introducing a per-character dirty flag to ensure that dirty animators can be tracked more effectively.
This has required introducing minor allocations through the closures capturing the character index and animator within the extension methods.