summaryrefslogtreecommitdiffstats
path: root/core/object/object.cpp
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2023-08-29 12:41:27 +0200
committerRémi Verschelde <rverschelde@gmail.com>2023-08-29 12:41:27 +0200
commit76d318dbd13bd09a9690c0b459cb30f9ab6903f0 (patch)
treeaec9ab48223b78ad476eda113ea6f4a8ad3b7990 /core/object/object.cpp
parent91c5273ec58aafd3b86e9a1e21640b0949842a78 (diff)
parent67db4693ebdc972eae2395fecd39dc174045b980 (diff)
downloadredot-engine-76d318dbd13bd09a9690c0b459cb30f9ab6903f0.tar.gz
Merge pull request #75778 from KoBeWi/_vp
Expose `_validate_property()` for scripting
Diffstat (limited to 'core/object/object.cpp')
-rw-r--r--core/object/object.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/core/object/object.cpp b/core/object/object.cpp
index 4ae0ecdefd..b803d57cd9 100644
--- a/core/object/object.cpp
+++ b/core/object/object.cpp
@@ -526,6 +526,10 @@ void Object::get_property_list(List<PropertyInfo> *p_list, bool p_reversed) cons
void Object::validate_property(PropertyInfo &p_property) const {
_validate_propertyv(p_property);
+
+ if (script_instance) { // Call it last to allow user altering already validated properties.
+ script_instance->validate_property(p_property);
+ }
}
bool Object::property_can_revert(const StringName &p_name) const {
@@ -1604,6 +1608,8 @@ void Object::_bind_methods() {
plget.return_val.hint_string = "Dictionary";
BIND_OBJ_CORE_METHOD(plget);
+ BIND_OBJ_CORE_METHOD(MethodInfo(Variant::NIL, "_validate_property", PropertyInfo(Variant::DICTIONARY, "property")));
+
BIND_OBJ_CORE_METHOD(MethodInfo(Variant::BOOL, "_property_can_revert", PropertyInfo(Variant::STRING_NAME, "property")));
MethodInfo mipgr("_property_get_revert", PropertyInfo(Variant::STRING_NAME, "property"));
mipgr.return_val.name = "Variant";