Merge pull request #43682 from RandomShaper/warn_reference_singleton

Warn about singleton being a Reference
This commit is contained in:
Rémi Verschelde 2020-11-19 13:37:45 +01:00 committed by GitHub
commit 8cc01be213
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 4 deletions

View file

@ -219,3 +219,13 @@ Engine *Engine::get_singleton() {
Engine::Engine() {
singleton = this;
}
Engine::Singleton::Singleton(const StringName &p_name, Object *p_ptr) :
name(p_name),
ptr(p_ptr) {
#ifdef DEBUG_ENABLED
if (Object::cast_to<Reference>(p_ptr)) {
ERR_PRINT("A class intended to be used as a singleton must *not* inherit from Reference.");
}
#endif
}

View file

@ -41,10 +41,7 @@ public:
struct Singleton {
StringName name;
Object *ptr;
Singleton(const StringName &p_name = StringName(), Object *p_ptr = nullptr) :
name(p_name),
ptr(p_ptr) {
}
Singleton(const StringName &p_name = StringName(), Object *p_ptr = nullptr);
};
private: