|
@@ -137,7 +137,20 @@ bool PluginScript::can_instance() const {
|
|
|
}
|
|
|
|
|
|
bool PluginScript::inherits_script(const Ref<Script> &p_script) const {
|
|
|
- WARN_PRINT_ONCE("Inheritance needs to be implemented in PluginScript.");
|
|
|
+ Ref<PluginScript> ps = p_script;
|
|
|
+ if (ps.is_null()) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ const PluginScript *s = this;
|
|
|
+
|
|
|
+ while (s) {
|
|
|
+ if (s == p_script.ptr()) {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ s = Object::cast_to<PluginScript>(s->_ref_base_parent.ptr());
|
|
|
+ }
|
|
|
+
|
|
|
return false;
|
|
|
}
|
|
|
|