diff options
| author | reduz <reduzio@gmail.com> | 2021-08-24 19:03:10 -0300 |
|---|---|---|
| committer | reduz <reduzio@gmail.com> | 2021-08-25 08:32:25 -0300 |
| commit | e2f8df8c5b3b6a1d4c18a75ff1c8293cc5909bc0 (patch) | |
| tree | a85c182dce309f35dcf3da83349a688c644fd5a4 /core/config/engine.h | |
| parent | ca7f53dd25cd7ee52004a09d4b7ababb9fa0bca6 (diff) | |
| download | redot-engine-e2f8df8c5b3b6a1d4c18a75ff1c8293cc5909bc0.tar.gz | |
Add ability to register singletons from engine API
* Exposed functions in Engine to register and unregister singletons.
* Added the concept of user singletons, which can be removed (the system ones can't).
Diffstat (limited to 'core/config/engine.h')
| -rw-r--r-- | core/config/engine.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/core/config/engine.h b/core/config/engine.h index e6b5df2d5a..ae33acede2 100644 --- a/core/config/engine.h +++ b/core/config/engine.h @@ -42,6 +42,7 @@ public: StringName name; Object *ptr; StringName class_name; //used for binding generation hinting + bool user_created = false; Singleton(const StringName &p_name = StringName(), Object *p_ptr = nullptr, const StringName &p_class_name = StringName()); }; @@ -109,8 +110,10 @@ public: void add_singleton(const Singleton &p_singleton); void get_singletons(List<Singleton> *p_singletons); - bool has_singleton(const String &p_name) const; - Object *get_singleton_object(const String &p_name) const; + bool has_singleton(const StringName &p_name) const; + Object *get_singleton_object(const StringName &p_name) const; + void remove_singleton(const StringName &p_name); + bool is_singleton_user_created(const StringName &p_name) const; #ifdef TOOLS_ENABLED _FORCE_INLINE_ void set_editor_hint(bool p_enabled) { editor_hint = p_enabled; } |
