Refactor BTInstance.update()
This commit is contained in:
parent
47ad95b265
commit
6c794d6a7e
|
@ -35,8 +35,8 @@ Ref<BTInstance> BTInstance::create(Ref<BTTask> p_root_task, String p_source_bt_p
|
|||
return inst;
|
||||
}
|
||||
|
||||
void BTInstance::update(double p_delta) {
|
||||
ERR_FAIL_COND(!root_task.is_valid());
|
||||
BT::Status BTInstance::update(double p_delta) {
|
||||
ERR_FAIL_COND_V(!root_task.is_valid(), BT::FRESH);
|
||||
|
||||
#ifdef DEBUG_ENABLED
|
||||
double start = Time::get_singleton()->get_ticks_usec();
|
||||
|
@ -50,6 +50,7 @@ void BTInstance::update(double p_delta) {
|
|||
update_time_acc += (end - start);
|
||||
update_time_n += 1.0;
|
||||
#endif
|
||||
return last_status;
|
||||
}
|
||||
|
||||
void BTInstance::set_monitor_performance(bool p_monitor) {
|
||||
|
|
|
@ -20,7 +20,7 @@ private:
|
|||
Ref<BTTask> root_task;
|
||||
uint64_t owner_node_id;
|
||||
String source_bt_path;
|
||||
BTTask::Status last_status = BTTask::FRESH;
|
||||
BT::Status last_status = BT::FRESH;
|
||||
|
||||
#ifdef DEBUG_ENABLED
|
||||
bool monitor_performance = false;
|
||||
|
@ -40,11 +40,11 @@ protected:
|
|||
public:
|
||||
_FORCE_INLINE_ Ref<BTTask> get_root_task() const { return root_task; }
|
||||
_FORCE_INLINE_ Node *get_owner_node() const { return Object::cast_to<Node>(OBJECT_DB_GET_INSTANCE(owner_node_id)); }
|
||||
_FORCE_INLINE_ BTTask::Status get_last_status() const { return last_status; }
|
||||
_FORCE_INLINE_ BT::Status get_last_status() const { return last_status; }
|
||||
_FORCE_INLINE_ bool is_instance_valid() const { return root_task.is_valid(); }
|
||||
_FORCE_INLINE_ String get_source_bt_path() const { return source_bt_path; }
|
||||
|
||||
void update(double p_delta);
|
||||
BT::Status update(double p_delta);
|
||||
|
||||
void set_monitor_performance(bool p_monitor);
|
||||
bool get_monitor_performance() const;
|
||||
|
|
|
@ -77,8 +77,7 @@ void BTState::_update(double p_delta) {
|
|||
return;
|
||||
}
|
||||
ERR_FAIL_NULL(bt_instance);
|
||||
bt_instance->update(p_delta);
|
||||
BTTask::Status status = bt_instance->get_last_status();
|
||||
BT::Status status = bt_instance->update(p_delta);
|
||||
if (status == BTTask::SUCCESS) {
|
||||
get_root()->dispatch(success_event, Variant());
|
||||
} else if (status == BTTask::FAILURE) {
|
||||
|
|
Loading…
Reference in New Issue