limboai/bt/tasks/composites/bt_parallel.h

51 lines
1.3 KiB
C
Raw Permalink Normal View History

/**
* bt_parallel.h
* =============================================================================
* Copyright 2021-2024 Serhii Snitsaruk
*
* Use of this source code is governed by an MIT-style
* license that can be found in the LICENSE file or at
* https://opensource.org/licenses/MIT.
* =============================================================================
*/
2022-08-28 10:54:34 +00:00
#ifndef BT_PARALLEL_H
#define BT_PARALLEL_H
2023-08-15 15:49:13 +00:00
#include "../bt_composite.h"
2022-08-28 10:54:34 +00:00
class BTParallel : public BTComposite {
GDCLASS(BTParallel, BTComposite);
TASK_CATEGORY(Composites);
2022-08-28 10:54:34 +00:00
private:
int num_successes_required = 1;
int num_failures_required = 1;
bool repeat = false;
protected:
static void _bind_methods();
virtual void _enter() override;
virtual Status _tick(double p_delta) override;
2022-08-28 10:54:34 +00:00
public:
2022-08-31 15:05:25 +00:00
int get_num_successes_required() const { return num_successes_required; }
void set_num_successes_required(int p_value) {
num_successes_required = p_value;
emit_changed();
}
int get_num_failures_required() const { return num_failures_required; }
void set_num_failures_required(int p_value) {
num_failures_required = p_value;
emit_changed();
}
bool get_repeat() const { return repeat; }
void set_repeat(bool p_value) {
repeat = p_value;
emit_changed();
}
2022-08-28 10:54:34 +00:00
};
2024-01-13 16:10:42 +00:00
#endif // BT_PARALLEL_H