|
@@ -187,6 +187,7 @@ public:
|
|
|
template <class T>
|
|
|
static void register_class(bool p_virtual = false) {
|
|
|
GLOBAL_LOCK_FUNCTION;
|
|
|
+ static_assert(TypesAreSame<typename T::self_type, T>::value, "Class not declared properly, please use GDCLASS.");
|
|
|
T::initialize_class();
|
|
|
ClassInfo *t = classes.getptr(T::get_class_static());
|
|
|
ERR_FAIL_COND(!t);
|
|
@@ -201,6 +202,7 @@ public:
|
|
|
template <class T>
|
|
|
static void register_abstract_class() {
|
|
|
GLOBAL_LOCK_FUNCTION;
|
|
|
+ static_assert(TypesAreSame<typename T::self_type, T>::value, "Class not declared properly, please use GDCLASS.");
|
|
|
T::initialize_class();
|
|
|
ClassInfo *t = classes.getptr(T::get_class_static());
|
|
|
ERR_FAIL_COND(!t);
|
|
@@ -221,6 +223,7 @@ public:
|
|
|
template <class T>
|
|
|
static void register_custom_instance_class() {
|
|
|
GLOBAL_LOCK_FUNCTION;
|
|
|
+ static_assert(TypesAreSame<typename T::self_type, T>::value, "Class not declared properly, please use GDCLASS.");
|
|
|
T::initialize_class();
|
|
|
ClassInfo *t = classes.getptr(T::get_class_static());
|
|
|
ERR_FAIL_COND(!t);
|