Update name of parameter in editor
This commit is contained in:
parent
34ef7d96ea
commit
54addba8a3
|
@ -8,6 +8,25 @@
|
|||
|
||||
VARIANT_ENUM_CAST(BBParam::ValueSource);
|
||||
|
||||
void BBParam::set_value_source(ValueSource p_value) {
|
||||
value_source = p_value;
|
||||
property_list_changed_notify();
|
||||
_update_name();
|
||||
emit_changed();
|
||||
}
|
||||
|
||||
void BBParam::set_saved_value(Variant p_value) {
|
||||
saved_value = p_value;
|
||||
_update_name();
|
||||
emit_changed();
|
||||
}
|
||||
|
||||
void BBParam::set_variable(const String &p_value) {
|
||||
variable = p_value;
|
||||
_update_name();
|
||||
emit_changed();
|
||||
}
|
||||
|
||||
Variant BBParam::get_value(Object *p_agent, const Ref<Blackboard> &p_blackboard, const Variant &p_default) {
|
||||
ERR_FAIL_COND_V(p_blackboard.is_valid(), p_default);
|
||||
|
||||
|
@ -34,7 +53,7 @@ void BBParam::_bind_methods() {
|
|||
ClassDB::bind_method(D_METHOD("set_variable", "p_variable_name"), &BBParam::set_variable);
|
||||
ClassDB::bind_method(D_METHOD("get_variable"), &BBParam::get_variable);
|
||||
ClassDB::bind_method(D_METHOD("get_type"), &BBParam::get_type);
|
||||
ClassDB::bind_method(D_METHOD("get_value"), &BBParam::get_value);
|
||||
ClassDB::bind_method(D_METHOD("get_value", "p_agent", "p_blackboard", "p_default"), &BBParam::get_value, Variant());
|
||||
|
||||
ADD_PROPERTY(PropertyInfo(Variant::INT, "value_source", PROPERTY_HINT_ENUM, "Saved Value, Blackboard Var"), "set_value_source", "get_value_source");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::STRING, "variable", PROPERTY_HINT_NONE, "", 0), "set_variable", "get_variable");
|
||||
|
|
|
@ -5,8 +5,10 @@
|
|||
|
||||
#include "core/object.h"
|
||||
#include "core/resource.h"
|
||||
#include "core/typedefs.h"
|
||||
#include "core/variant.h"
|
||||
#include "modules/limboai/blackboard.h"
|
||||
#include "modules/limboai/limbo_utility.h"
|
||||
|
||||
class BBParam : public Resource {
|
||||
GDCLASS(BBParam, Resource);
|
||||
|
@ -22,6 +24,10 @@ private:
|
|||
Variant saved_value;
|
||||
String variable;
|
||||
|
||||
_FORCE_INLINE_ void _update_name() {
|
||||
set_name((value_source == SAVED_VALUE) ? String(saved_value) : LimboUtility::get_singleton()->decorate_var(variable));
|
||||
}
|
||||
|
||||
protected:
|
||||
static void _bind_methods();
|
||||
|
||||
|
@ -30,23 +36,13 @@ protected:
|
|||
void _get_property_list(List<PropertyInfo> *p_list) const;
|
||||
|
||||
public:
|
||||
void set_value_source(ValueSource p_value) {
|
||||
value_source = p_value;
|
||||
property_list_changed_notify();
|
||||
emit_changed();
|
||||
}
|
||||
void set_value_source(ValueSource p_value);
|
||||
ValueSource get_value_source() const { return value_source; }
|
||||
|
||||
void set_saved_value(Variant p_value) {
|
||||
saved_value = p_value;
|
||||
emit_changed();
|
||||
}
|
||||
void set_saved_value(Variant p_value);
|
||||
Variant get_saved_value() const { return saved_value; }
|
||||
|
||||
void set_variable(const String &p_value) {
|
||||
variable = p_value;
|
||||
emit_changed();
|
||||
}
|
||||
void set_variable(const String &p_value);
|
||||
String get_variable() const { return variable; }
|
||||
|
||||
virtual Variant get_value(Object *p_agent, const Ref<Blackboard> &p_blackboard, const Variant &p_default = Variant());
|
||||
|
|
Before Width: | Height: | Size: 510 B After Width: | Height: | Size: 510 B |
|
@ -122,7 +122,6 @@ void register_limboai_types() {
|
|||
|
||||
ClassDB::register_class<BTCondition>();
|
||||
|
||||
// ClassDB::register_class<BBParam>();
|
||||
ClassDB::register_virtual_class<BBParam>();
|
||||
ClassDB::register_class<BBInt>();
|
||||
ClassDB::register_class<BBBool>();
|
||||
|
|
Loading…
Reference in New Issue