Now the inspector will show the custom resources added via plugin
This commit is contained in:
parent
3647ebc834
commit
97e77688bb
4 changed files with 70 additions and 23 deletions
|
|
@ -452,6 +452,31 @@ void EditorData::add_custom_type(const String &p_type, const String &p_inherits,
|
|||
custom_types[p_inherits].push_back(ct);
|
||||
}
|
||||
|
||||
Object *EditorData::instance_custom_type(const String &p_type, const String &p_inherits) {
|
||||
|
||||
if (get_custom_types().has(p_inherits)) {
|
||||
|
||||
for (int i = 0; i < get_custom_types()[p_inherits].size(); i++) {
|
||||
if (get_custom_types()[p_inherits][i].name == p_type) {
|
||||
Ref<Texture> icon = get_custom_types()[p_inherits][i].icon;
|
||||
Ref<Script> script = get_custom_types()[p_inherits][i].script;
|
||||
|
||||
Object *ob = ClassDB::instance(p_inherits);
|
||||
ERR_FAIL_COND_V(!ob, NULL);
|
||||
if (ob->is_class("Node")) {
|
||||
ob->call("set_name", p_type);
|
||||
}
|
||||
ob->set_script(script.get_ref_ptr());
|
||||
if (icon.is_valid())
|
||||
ob->set_meta("_editor_icon", icon);
|
||||
return ob;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void EditorData::remove_custom_type(const String &p_type) {
|
||||
|
||||
for (Map<String, Vector<CustomType> >::Element *E = custom_types.front(); E; E = E->next()) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue