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.
Rational
This pull request is a proof of concept for a opt-in time slicing system. This is useful for games with large amounts of entities using beehave trees at once or simply ensuring a fixed amount of updates happen each frame on lower end systems such as mobile. Both these cases aren't covered by changing the tick rate or can be solved better through this implementation. Tick rate alone forces trees to update slower even when there is not any load and leaves the potential for excessive updates to happen on an individual frame.
This should be a part of beehave rather than left up to the user because it requires directly modifying the tick method.
Changes
beehave_tree.gd
opts a tree into the time slicing system.plugin.gd
are just to clean up the plugin's autoloads when the plugin is disabled.