summaryrefslogtreecommitdiffstats
path: root/core/script_language.h
diff options
context:
space:
mode:
authorLeonard Meagher <leonardmeagher2@gmail.com>2019-04-09 22:07:40 -0700
committerLeonard Meagher <leonardmeagher2@gmail.com>2019-05-03 15:06:05 -0700
commitf7eb426e2ebafc5598b0e43baf37d9a50cea1648 (patch)
tree5dfda6e83e3b59b1a52923d7fead0aea4ff15ff2 /core/script_language.h
parent5772f60f960ee8c396574f0c6f94def18bb210c7 (diff)
downloadredot-engine-f7eb426e2ebafc5598b0e43baf37d9a50cea1648.tar.gz
Allow overriding how scripted objects are converted to strings
solves #26796 - ADD `String to_string()` method to Object which can be overriden by `String _to_string()` in scripts - ADD `String to_string(r_valid)` method to ScriptInstance to allow langauges to control how scripted objects are converted to strings - IMPLEMENT to_string for GDScriptInstance, VisualScriptInstance, and NativeScriptInstance - ADD Documentation about `Object.to_string` and `Object._to_string` - Changed `Variant::operator String` to use `obj->to_string()`
Diffstat (limited to 'core/script_language.h')
-rw-r--r--core/script_language.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/core/script_language.h b/core/script_language.h
index 005e21e2cc..b2dab666c4 100644
--- a/core/script_language.h
+++ b/core/script_language.h
@@ -173,6 +173,11 @@ public:
virtual void call_multilevel(const StringName &p_method, const Variant **p_args, int p_argcount);
virtual void call_multilevel_reversed(const StringName &p_method, const Variant **p_args, int p_argcount);
virtual void notification(int p_notification) = 0;
+ virtual String to_string(bool *r_valid) {
+ if (r_valid)
+ *r_valid = false;
+ return String();
+ }
//this is used by script languages that keep a reference counter of their own
//you can make make Ref<> not die when it reaches zero, so deleting the reference