1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-05 12:10:55 +00:00

Allow registering "runtime classes"

This commit is contained in:
David Snopek
2024-01-02 14:10:54 -06:00
parent dfe226b933
commit ea75307a11
9 changed files with 401 additions and 38 deletions

View File

@@ -317,6 +317,10 @@ struct ObjectGDExtension {
bool is_virtual = false;
bool is_abstract = false;
bool is_exposed = true;
#ifdef TOOLS_ENABLED
bool is_runtime = false;
bool is_placeholder = false;
#endif
GDExtensionClassSet set;
GDExtensionClassGet get;
GDExtensionClassGetPropertyList get_property_list;
@@ -755,6 +759,7 @@ protected:
void _clear_internal_resource_paths(const Variant &p_var);
friend class ClassDB;
friend class PlaceholderExtensionInstance;
bool _disconnect(const StringName &p_signal, const Callable &p_callable, bool p_force = false);
@@ -977,6 +982,7 @@ public:
#ifdef TOOLS_ENABLED
void clear_internal_extension();
void reset_internal_extension(ObjectGDExtension *p_extension);
bool is_extension_placeholder() const { return _extension && _extension->is_placeholder; }
#endif
void clear_internal_resource_paths();