Skip to content

Commit

Permalink
Merge pull request #188 from limbonaut/fix-csharp-export-errors
Browse files Browse the repository at this point in the history
Fix C# exports print errors due to missing ClassDB binding
  • Loading branch information
limbonaut authored Aug 6, 2024
2 parents 549a595 + 84becbe commit abb2af7
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 5 deletions.
11 changes: 7 additions & 4 deletions bt/tasks/bt_task.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -386,16 +386,21 @@ void BTTask::print_tree(int p_initial_tabs) {
}
}

#ifdef TOOLS_ENABLED

Ref<BehaviorTree> BTTask::editor_get_behavior_tree() {
#ifdef TOOLS_ENABLED
BTTask *task = this;
while (task->data.behavior_tree_id.is_null() && task->get_parent().is_valid()) {
task = task->data.parent;
}
return Object::cast_to<BehaviorTree>(ObjectDB::get_instance(task->data.behavior_tree_id));
#else
ERR_PRINT("BTTask::editor_get_behavior_tree: Not available in release builds.");
return Ref<BehaviorTree>();
#endif
}

#ifdef TOOLS_ENABLED

void BTTask::editor_set_behavior_tree(const Ref<BehaviorTree> &p_bt) {
data.behavior_tree_id = p_bt->get_instance_id();
}
Expand Down Expand Up @@ -423,9 +428,7 @@ void BTTask::_bind_methods() {
ClassDB::bind_method(D_METHOD("print_tree", "initial_tabs"), &BTTask::print_tree, Variant(0));
ClassDB::bind_method(D_METHOD("get_task_name"), &BTTask::get_task_name);
ClassDB::bind_method(D_METHOD("abort"), &BTTask::abort);
#ifdef TOOLS_ENABLED
ClassDB::bind_method(D_METHOD("editor_get_behavior_tree"), &BTTask::editor_get_behavior_tree);
#endif // TOOLS_ENABLED

// Properties, setters and getters.
ClassDB::bind_method(D_METHOD("get_agent"), &BTTask::get_agent);
Expand Down
2 changes: 1 addition & 1 deletion bt/tasks/bt_task.h
Original file line number Diff line number Diff line change
Expand Up @@ -166,8 +166,8 @@ class BTTask : public BT {

void print_tree(int p_initial_tabs = 0);

#ifdef TOOLS_ENABLED
Ref<BehaviorTree> editor_get_behavior_tree();
#ifdef TOOLS_ENABLED
void editor_set_behavior_tree(const Ref<BehaviorTree> &p_bt);
#endif

Expand Down

0 comments on commit abb2af7

Please sign in to comment.