#ifndef GODOT_EXTRA_MACROS_H #define GODOT_EXTRA_MACROS_H #define BIND_GET_SET(m_property)\ ClassDB::bind_method(D_METHOD("set_" #m_property, #m_property), &self_type::set_##m_property);\ ClassDB::bind_method(D_METHOD("get_" #m_property), &self_type::get_##m_property) #define BIND_HPROPERTY(m_type, m_property, ...)\ BIND_GET_SET(m_property);\ ADD_PROPERTY(PropertyInfo(m_type, #m_property, __VA_ARGS__), "set_" #m_property, "get_" #m_property) #define BIND_PROPERTY(m_type, m_property)\ BIND_GET_SET(m_property);\ ADD_PROPERTY(PropertyInfo(m_type, #m_property), "set_" #m_property, "get_" #m_property) #endif // !GODOT_EXTRA_MACROS_H