Add PluginScript support for global class naming/icon path

This commit is contained in:
Emmanuel Leblond 2020-12-07 15:08:59 +01:00
parent 3c9c2cbb23
commit c4c18a2c58
No known key found for this signature in database
GPG key ID: C360860E645EFFC0
5 changed files with 42 additions and 0 deletions

View file

@ -398,6 +398,32 @@ void PluginScriptLanguage::reload_tool_script(const Ref<Script> &p_script, bool
#endif
}
bool PluginScriptLanguage::handles_global_class_type(const String &p_type) const {
return p_type == "PluginScript";
}
String PluginScriptLanguage::get_global_class_name(const String &p_path, String *r_base_type, String *r_icon_path) const {
if (!p_path.empty()) {
Ref<PluginScript> script = ResourceLoader::load(p_path, "PluginScript");
if (script.is_valid()) {
if (r_base_type) {
*r_base_type = script->get_instance_base_type();
}
if (r_icon_path) {
*r_icon_path = script->get_script_class_icon_path();
}
return script->get_script_class_name();
}
if (r_base_type) {
*r_base_type = String();
}
if (r_icon_path) {
*r_icon_path = String();
}
}
return String();
}
void PluginScriptLanguage::lock() {
_lock.lock();
}