/* register_types.cpp */ #include "register_types.h" #include "core/class_db.h" #include "blackboard.h" #include "bt/actions/bt_action.h" #include "bt/actions/bt_console_print.h" #include "bt/actions/bt_fail.h" #include "bt/actions/bt_random_wait.h" #include "bt/actions/bt_wait.h" #include "bt/actions/bt_wait_ticks.h" #include "bt/behavior_tree.h" #include "bt/bt_player.h" #include "bt/bt_state.h" #include "bt/bt_task.h" #include "bt/composites/bt_composite.h" #include "bt/composites/bt_dynamic_selector.h" #include "bt/composites/bt_dynamic_sequence.h" #include "bt/composites/bt_parallel.h" #include "bt/composites/bt_random_selector.h" #include "bt/composites/bt_random_sequence.h" #include "bt/composites/bt_selector.h" #include "bt/composites/bt_sequence.h" #include "bt/conditions/bt_condition.h" #include "bt/decorators/bt_always_fail.h" #include "bt/decorators/bt_always_succeed.h" #include "bt/decorators/bt_cooldown.h" #include "bt/decorators/bt_decorator.h" #include "bt/decorators/bt_delay.h" #include "bt/decorators/bt_for_each.h" #include "bt/decorators/bt_invert.h" #include "bt/decorators/bt_new_scope.h" #include "bt/decorators/bt_probability.h" #include "bt/decorators/bt_repeat.h" #include "bt/decorators/bt_repeat_until_failure.h" #include "bt/decorators/bt_repeat_until_success.h" #include "bt/decorators/bt_run_limit.h" #include "bt/decorators/bt_subtree.h" #include "bt/decorators/bt_time_limit.h" #include "core/os/memory.h" #include "limbo_hsm.h" #include "limbo_state.h" #include "limbo_string_names.h" #include "limbo_utility.h" #ifdef TOOLS_ENABLED #include "editor/limbo_ai_editor_plugin.h" #endif static LimboUtility *_limbo_utility = nullptr; void register_limboai_types() { ClassDB::register_class(); ClassDB::register_class(); ClassDB::register_class(); ClassDB::register_class(); ClassDB::register_class(); ClassDB::register_class(); ClassDB::register_class(); ClassDB::register_class(); ClassDB::register_class(); ClassDB::register_class(); ClassDB::register_class(); ClassDB::register_class(); ClassDB::register_class(); ClassDB::register_class(); ClassDB::register_class(); ClassDB::register_class(); ClassDB::register_class(); ClassDB::register_class(); ClassDB::register_class(); ClassDB::register_class(); ClassDB::register_class(); ClassDB::register_class(); ClassDB::register_class(); ClassDB::register_class(); ClassDB::register_class(); ClassDB::register_class(); ClassDB::register_class(); ClassDB::register_class(); ClassDB::register_class(); ClassDB::register_class(); ClassDB::register_class(); ClassDB::register_class(); ClassDB::register_class(); ClassDB::register_class(); ClassDB::register_class(); ClassDB::register_class(); ClassDB::register_class(); ClassDB::register_class(); _limbo_utility = memnew(LimboUtility); ClassDB::register_class(); #ifdef TOOLS_ENABLED Engine::get_singleton()->add_singleton(Engine::Singleton("LimboUtility", LimboUtility::get_singleton())); EditorPlugins::add_by_type(); #endif LimboStringNames::create(); } void unregister_limboai_types() { LimboStringNames::free(); memdelete(_limbo_utility); }