mirror of
https://github.com/tiennm99/godot.git
synced 2026-08-17 02:23:21 +00:00
Keep a weak reference to orphan subclasses to reuse on class reload
This commit is contained in:
@@ -132,6 +132,8 @@ class GDScript : public Script {
|
||||
|
||||
bool _update_exports();
|
||||
|
||||
void _save_orphaned_subclasses();
|
||||
|
||||
protected:
|
||||
bool _get(const StringName &p_name, Variant &r_ret) const;
|
||||
bool _set(const StringName &p_name, const Variant &p_value);
|
||||
@@ -355,6 +357,8 @@ class GDScriptLanguage : public ScriptLanguage {
|
||||
bool profiling;
|
||||
uint64_t script_frame_time;
|
||||
|
||||
Map<String, ObjectID> orphan_subclasses;
|
||||
|
||||
public:
|
||||
int calls;
|
||||
|
||||
@@ -506,6 +510,9 @@ public:
|
||||
virtual bool handles_global_class_type(const String &p_type) const;
|
||||
virtual String get_global_class_name(const String &p_path, String *r_base_type = NULL, String *r_icon_path = NULL) const;
|
||||
|
||||
void add_orphan_subclass(const String &p_qualified_name, const ObjectID &p_subclass);
|
||||
Ref<GDScript> get_orphan_subclass(const String &p_qualified_name);
|
||||
|
||||
GDScriptLanguage();
|
||||
~GDScriptLanguage();
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user