Refactor BTAction classes
This commit is contained in:
parent
0ba36cb3dd
commit
3693c3fc50
|
@ -11,42 +11,42 @@ String BTConsolePrint::_generate_name() const {
|
|||
tx = text.substr(0, 30) + "...";
|
||||
}
|
||||
tx = tx.replace("\"", "\\\"");
|
||||
if (format_var_args.size() > 0) {
|
||||
return vformat("ConsolePrint text: \"%s\" format_args: %s", tx, format_var_args);
|
||||
if (bb_format_parameters.size() > 0) {
|
||||
return vformat("ConsolePrint text: \"%s\" format_parameters: %s", tx, bb_format_parameters);
|
||||
}
|
||||
return vformat("ConsolePrint \"%s\"", tx);
|
||||
}
|
||||
|
||||
int BTConsolePrint::_tick(float p_delta) {
|
||||
switch (format_var_args.size()) {
|
||||
switch (bb_format_parameters.size()) {
|
||||
case 0: {
|
||||
print_line(text);
|
||||
} break;
|
||||
case 1: {
|
||||
print_line(vformat(text, get_blackboard()->get_var(format_var_args[0], "")));
|
||||
print_line(vformat(text, get_blackboard()->get_var(bb_format_parameters[0], "")));
|
||||
} break;
|
||||
case 2: {
|
||||
print_line(vformat(text, get_blackboard()->get_var(format_var_args[0], ""),
|
||||
get_blackboard()->get_var(format_var_args[1], "")));
|
||||
print_line(vformat(text, get_blackboard()->get_var(bb_format_parameters[0], ""),
|
||||
get_blackboard()->get_var(bb_format_parameters[1], "")));
|
||||
} break;
|
||||
case 3: {
|
||||
print_line(vformat(text, get_blackboard()->get_var(format_var_args[0], ""),
|
||||
get_blackboard()->get_var(format_var_args[1], ""),
|
||||
get_blackboard()->get_var(format_var_args[2], "")));
|
||||
print_line(vformat(text, get_blackboard()->get_var(bb_format_parameters[0], ""),
|
||||
get_blackboard()->get_var(bb_format_parameters[1], ""),
|
||||
get_blackboard()->get_var(bb_format_parameters[2], "")));
|
||||
} break;
|
||||
case 4: {
|
||||
print_line(vformat(text, get_blackboard()->get_var(format_var_args[0], ""),
|
||||
get_blackboard()->get_var(format_var_args[1], ""),
|
||||
get_blackboard()->get_var(format_var_args[2], ""),
|
||||
get_blackboard()->get_var(format_var_args[3], "")));
|
||||
print_line(vformat(text, get_blackboard()->get_var(bb_format_parameters[0], ""),
|
||||
get_blackboard()->get_var(bb_format_parameters[1], ""),
|
||||
get_blackboard()->get_var(bb_format_parameters[2], ""),
|
||||
get_blackboard()->get_var(bb_format_parameters[3], "")));
|
||||
} break;
|
||||
case 5:
|
||||
default: {
|
||||
print_line(vformat(text, get_blackboard()->get_var(format_var_args[0], ""),
|
||||
get_blackboard()->get_var(format_var_args[1], ""),
|
||||
get_blackboard()->get_var(format_var_args[2], ""),
|
||||
get_blackboard()->get_var(format_var_args[3], ""),
|
||||
get_blackboard()->get_var(format_var_args[4], "")));
|
||||
print_line(vformat(text, get_blackboard()->get_var(bb_format_parameters[0], ""),
|
||||
get_blackboard()->get_var(bb_format_parameters[1], ""),
|
||||
get_blackboard()->get_var(bb_format_parameters[2], ""),
|
||||
get_blackboard()->get_var(bb_format_parameters[3], ""),
|
||||
get_blackboard()->get_var(bb_format_parameters[4], "")));
|
||||
} break;
|
||||
}
|
||||
return SUCCESS;
|
||||
|
@ -57,7 +57,7 @@ String BTConsolePrint::get_configuration_warning() const {
|
|||
if (!warning.is_empty()) {
|
||||
warning += "\n";
|
||||
}
|
||||
if (format_var_args.size() > 5) {
|
||||
if (bb_format_parameters.size() > 5) {
|
||||
warning += "ConsolePrint supports up to 5 format arguments.\n";
|
||||
}
|
||||
return warning;
|
||||
|
@ -66,9 +66,9 @@ String BTConsolePrint::get_configuration_warning() const {
|
|||
void BTConsolePrint::_bind_methods() {
|
||||
ClassDB::bind_method(D_METHOD("set_text", "p_text"), &BTConsolePrint::set_text);
|
||||
ClassDB::bind_method(D_METHOD("get_text"), &BTConsolePrint::get_text);
|
||||
ClassDB::bind_method(D_METHOD("set_format_var_args", "p_variables"), &BTConsolePrint::set_format_var_args);
|
||||
ClassDB::bind_method(D_METHOD("get_format_var_args"), &BTConsolePrint::get_format_var_args);
|
||||
ClassDB::bind_method(D_METHOD("set_bb_format_parameters", "p_variables"), &BTConsolePrint::set_bb_format_parameters);
|
||||
ClassDB::bind_method(D_METHOD("get_bb_format_parameters"), &BTConsolePrint::get_bb_format_parameters);
|
||||
|
||||
ADD_PROPERTY(PropertyInfo(Variant::STRING, "text", PROPERTY_HINT_MULTILINE_TEXT), "set_text", "get_text");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::PACKED_STRING_ARRAY, "format_var_args"), "set_format_var_args", "get_format_var_args");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::PACKED_STRING_ARRAY, "bb_format_parameters"), "set_bb_format_parameters", "get_bb_format_parameters");
|
||||
}
|
|
@ -12,7 +12,7 @@ class BTConsolePrint : public BTAction {
|
|||
|
||||
private:
|
||||
String text;
|
||||
PackedStringArray format_var_args;
|
||||
PackedStringArray bb_format_parameters;
|
||||
|
||||
protected:
|
||||
static void _bind_methods();
|
||||
|
@ -27,11 +27,11 @@ public:
|
|||
}
|
||||
String get_text() const { return text; }
|
||||
|
||||
void set_format_var_args(const PackedStringArray &p_value) {
|
||||
format_var_args = p_value;
|
||||
void set_bb_format_parameters(const PackedStringArray &p_value) {
|
||||
bb_format_parameters = p_value;
|
||||
emit_changed();
|
||||
}
|
||||
PackedStringArray get_format_var_args() const { return format_var_args; }
|
||||
PackedStringArray get_bb_format_parameters() const { return bb_format_parameters; }
|
||||
|
||||
virtual String get_configuration_warning() const override;
|
||||
};
|
||||
|
|
|
@ -7,13 +7,13 @@ String BTRandomWait::_generate_name() const {
|
|||
}
|
||||
|
||||
void BTRandomWait::_enter() {
|
||||
_time_passed = 0.0;
|
||||
_duration = Math::random(duration_min_max.x, duration_min_max.y);
|
||||
time_passed = 0.0;
|
||||
duration = Math::random(duration_min_max.x, duration_min_max.y);
|
||||
}
|
||||
|
||||
int BTRandomWait::_tick(float p_delta) {
|
||||
_time_passed += p_delta;
|
||||
if (_time_passed < _duration) {
|
||||
time_passed += p_delta;
|
||||
if (time_passed < duration) {
|
||||
return RUNNING;
|
||||
} else {
|
||||
return SUCCESS;
|
||||
|
|
|
@ -12,8 +12,8 @@ class BTRandomWait : public BTAction {
|
|||
private:
|
||||
Vector2 duration_min_max = Vector2(1.0, 2.0);
|
||||
|
||||
float _time_passed = 0.0;
|
||||
float _duration = 0.0;
|
||||
float time_passed = 0.0;
|
||||
float duration = 0.0;
|
||||
|
||||
protected:
|
||||
static void _bind_methods();
|
||||
|
|
|
@ -10,12 +10,12 @@ String BTWait::_generate_name() const {
|
|||
}
|
||||
|
||||
void BTWait::_enter() {
|
||||
_time_passed = 0.0;
|
||||
time_passed = 0.0;
|
||||
}
|
||||
|
||||
int BTWait::_tick(float p_delta) {
|
||||
_time_passed += p_delta;
|
||||
if (_time_passed < duration) {
|
||||
time_passed += p_delta;
|
||||
if (time_passed < duration) {
|
||||
return RUNNING;
|
||||
} else {
|
||||
return SUCCESS;
|
||||
|
|
|
@ -12,7 +12,7 @@ class BTWait : public BTAction {
|
|||
private:
|
||||
float duration = 1.0;
|
||||
|
||||
float _time_passed = 0.0;
|
||||
float time_passed = 0.0;
|
||||
|
||||
protected:
|
||||
static void _bind_methods();
|
||||
|
|
|
@ -10,12 +10,12 @@ String BTWaitTicks::_generate_name() const {
|
|||
}
|
||||
|
||||
void BTWaitTicks::_enter() {
|
||||
_num_passed = 0;
|
||||
num_passed = 0;
|
||||
}
|
||||
|
||||
int BTWaitTicks::_tick(float p_delta) {
|
||||
_num_passed += 1;
|
||||
if (_num_passed < num_ticks) {
|
||||
num_passed += 1;
|
||||
if (num_passed < num_ticks) {
|
||||
return RUNNING;
|
||||
} else {
|
||||
return SUCCESS;
|
||||
|
|
|
@ -12,7 +12,7 @@ class BTWaitTicks : public BTAction {
|
|||
private:
|
||||
int num_ticks = 1;
|
||||
|
||||
int _num_passed = 0;
|
||||
int num_passed = 0;
|
||||
|
||||
protected:
|
||||
static void _bind_methods();
|
||||
|
|
Loading…
Reference in New Issue