50 lines
1.3 KiB
C++
50 lines
1.3 KiB
C++
#pragma once
|
|
#include "behaviour_nodes/behaviour_composite.h"
|
|
#include "behaviour_nodes/behaviour_node.h"
|
|
#include "core/variant/variant.h"
|
|
|
|
class BehaviourSequence : public BehaviourComposite {
|
|
GDCLASS(BehaviourSequence, BehaviourComposite);
|
|
static void _bind_methods() {}
|
|
|
|
public:
|
|
PackedStringArray get_configuration_warnings() const override;
|
|
void execute() override;
|
|
BehaviourNode *get_next() override;
|
|
|
|
private:
|
|
int current{ -1 };
|
|
};
|
|
|
|
class BehaviourSelector : public BehaviourComposite {
|
|
GDCLASS(BehaviourSelector, BehaviourComposite);
|
|
static void _bind_methods() {}
|
|
|
|
public:
|
|
PackedStringArray get_configuration_warnings() const override;
|
|
void execute() override;
|
|
BehaviourNode *get_next() override;
|
|
|
|
private:
|
|
int current{ -1 };
|
|
};
|
|
|
|
class BehaviourRepeater : public BehaviourComposite {
|
|
GDCLASS(BehaviourRepeater, BehaviourComposite);
|
|
static void _bind_methods() {}
|
|
|
|
public:
|
|
PackedStringArray get_configuration_warnings() const override;
|
|
void execute() override;
|
|
BehaviourNode *get_next() override;
|
|
};
|
|
|
|
class BehaviourRepeatUntilFail : public BehaviourComposite {
|
|
GDCLASS(BehaviourRepeatUntilFail, BehaviourComposite);
|
|
static void _bind_methods() {}
|
|
|
|
public:
|
|
PackedStringArray get_configuration_warnings() const override;
|
|
void execute() override;
|
|
BehaviourNode *get_next() override;
|
|
};
|