-
-
Notifications
You must be signed in to change notification settings - Fork 156
🚧 [WIP] reimplement all nodes in C++ #287
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
base: v3
Are you sure you want to change the base?
Conversation
* implement beehave tree ready and blackboard * recursive glob * integrate BeehaveSucceeder skeleton
* pass tick * pass tick * update gdunit + introduce exports
* progress but failing * remove debugger test scene * implement limiter * implement delayer * add repeater * fixes * time limiter skeleton * implement remaining nodes * add blackboard * fix orphans * expose values in Dictionary * more fixes * attempt to add virtual methods * kinda fix enum return type * use global enum
|
Curious, what's the current state of the V3 migration? |
|
@RafaelVidaurre see the checkboxes in the description for the current status. In terms of work, I aim to do a bit here and there, but it can take a while because I do this in my freetime as a hobby. |
* add composite * add selector
|
PSA: I don't have time or resources right now to complete this migration at the moment. For anyone brave enough, I am willing to review the PRs related to this just ping me. |
* Implement BeehaveSequence * Fix incorrect file name in comment --------- Co-authored-by: LenNerd42 <[email protected]>
|
@bitbrain you mentioned you have some ideas for designing interrupts and before/after signals differently. Since I'm currently re-implementing some nodes that had interrupt and start/end logic - do you still remember what your design ideas were and can I find them written down anywhere? |
* Update class icons * Implement missing composites --------- Co-authored-by: LenNerd42 <[email protected]>
|
@LenNerd42 for now, adopt 1:1 what we did in gdscript as well. I initially had a different idea but it is too complicated as a first version. |
* Add before_run, after_run and interrupts for decorators * Add missing decorator icons * Add before_run, after_run and interrupts for composites and tree --------- Co-authored-by: LenNerd42 <[email protected]>
* Add before_run, after_run and interrupts for decorators * Add missing decorator icons * Add before_run, after_run and interrupts for composites and tree * First attempt at adding in all leaves * Fix malformed and broken expressions from clogging up the console * Add missing bind_methods * Add configuration warning in case of BeehaveTreeNode children * Add icons for blackboard utility nodes * Declare leaves and decorators as non-abstract, so GDScripts can inherit from them * Turn BeehaveBlackboardCompare into a Condition leaf * Document blackboard utility nodes --------- Co-authored-by: LenNerd42 <[email protected]>
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.
This PR is being reviewed by Cursor Bugbot
Details
You are on the Bugbot Free tier. On this plan, Bugbot will review limited PRs each billing cycle.
To receive Bugbot reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial.
| @export var key = "custom_value" | ||
|
|
||
| func tick(_actor: Node, blackboard: Blackboard) -> int: | ||
| func tick(_context: BeehaveContext) -> int: |
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.
Bug: Tick Method Mismatch with BeehaveContext
The tick method's signature now takes a BeehaveContext object, but its implementation still directly references actor and blackboard. These variables are no longer direct parameters, causing undefined variable errors.
Description
This lays the foundation for Beehave 3.0 - more details can be found here: #285
Functionalities
The following first need consultation with @bitbrain, as with Beehave V3 the idea is to design interrupts & before/after signals differently to V2.
Base Nodes
BeehaveTreeBeehaveBlackboardDecorators
BeehaveCooldownBeehaveDelayerBeehaveFailerBeehaveSucceederBeehaveInverterBeehaveLimiterBeehaveUntilFailBeehaveTimeLimiterComposites
BeehaveSelectorBeehaveSelectorRandomBeehaveSelectorReactiveBeehaveSequenceBeehaveSequenceRandomBeehaveSequenceReactiveBeehaveSequenceStarLeafs
BeehaveActionBeehaveCondition