limboai/bt/tasks/utility/bt_random_wait.h

42 lines
1.0 KiB
C
Raw Normal View History

/**
* bt_random_wait.h
* =============================================================================
* Copyright 2021-2023 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-29 12:06:48 +00:00
#ifndef BT_RANDOM_WAIT_H
#define BT_RANDOM_WAIT_H
2023-08-15 15:49:13 +00:00
#include "../bt_action.h"
2022-08-29 12:06:48 +00:00
class BTRandomWait : public BTAction {
GDCLASS(BTRandomWait, BTAction);
2023-08-28 11:22:23 +00:00
TASK_CATEGORY(Utility);
2022-08-29 12:06:48 +00:00
private:
double min_duration = 1.0;
double max_duration = 2.0;
2022-08-29 12:06:48 +00:00
double duration = 0.0;
2022-08-29 12:06:48 +00:00
protected:
static void _bind_methods();
virtual String _generate_name() const override;
virtual void _enter() override;
virtual Status _tick(double p_delta) override;
2022-08-29 12:06:48 +00:00
public:
void set_min_duration(double p_max_duration);
double get_min_duration() const { return min_duration; }
void set_max_duration(double p_max_duration);
double get_max_duration() const { return max_duration; }
2022-08-29 12:06:48 +00:00
};
#endif // BT_RANDOM_WAIT_H