Fixed GODOT_SUBCLASS macro
parent
40a8b38149
commit
0a3fb023d5
|
@ -46,10 +46,12 @@ T *get_wrapper(godot_object *obj)
|
||||||
|
|
||||||
#define GODOT_SUBCLASS(Name, Base) \
|
#define GODOT_SUBCLASS(Name, Base) \
|
||||||
public: inline static const char *___get_type_name() { return static_cast<const char *>(#Name); } \
|
public: inline static const char *___get_type_name() { return static_cast<const char *>(#Name); } \
|
||||||
inline static const char *___get_base_type_name() { return static_cast<const char *>(#Base); } \
|
enum { ___CLASS_IS_SCRIPT = 1, }; \
|
||||||
|
inline static Name *_new() { godot::NativeScript *script = godot::NativeScript::_new(); script->set_library(godot::get_wrapper<godot::GDNativeLibrary>((godot_object *) godot::gdnlib)); script->set_class_name(#Name); Name *instance = godot::as<Name>(script->new_()); return instance; } \
|
||||||
|
inline static const char *___get_base_type_name() { return #Base; } \
|
||||||
|
inline static Object *___get_from_variant(godot::Variant a) { return (godot::Object *) godot::as<Name>(godot::Object::___get_from_variant(a)); } \
|
||||||
private:
|
private:
|
||||||
|
|
||||||
|
|
||||||
template<class T>
|
template<class T>
|
||||||
struct _ArgCast {
|
struct _ArgCast {
|
||||||
static T _arg_cast(Variant a)
|
static T _arg_cast(Variant a)
|
||||||
|
|
Loading…
Reference in New Issue