behaviour-nodes-module/control_nodes.h
2026-03-13 10:38:52 +01:00

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;
};