Compare commits
2 Commits
08e21f0568
...
16b5de038d
Author | SHA1 | Date |
---|---|---|
Sara | 16b5de038d | |
Sara | 8b670b309e |
|
@ -73,8 +73,8 @@
|
|||
*
|
||||
* Use when registering properties of arrays of resource classes.
|
||||
*/
|
||||
#define GDRESOURCETYPE(Class_) godot::vformat("%s/%s:%s", godot::Variant::OBJECT, godot::PROPERTY_HINT_RESOURCE_TYPE, #Class_)
|
||||
#define GDENUMTYPE(EnumString_) godot::vformat("%s/%s:%s", godot::Variant::INT, godot::PROPERTY_HINT_ENUM, #EnumString_)
|
||||
#define GDRESOURCETYPE(Class_) godot::vformat("%s/%s:%s", godot::Variant::OBJECT, godot::PROPERTY_HINT_RESOURCE_TYPE, Class_)
|
||||
#define GDENUMTYPE(EnumString_) godot::vformat("%s/%s:%s", godot::Variant::INT, godot::PROPERTY_HINT_ENUM, EnumString_)
|
||||
|
||||
/*! \def GDEDITORONLY()
|
||||
* \brief Execute the rest of the function only if currently running as editor.
|
||||
|
@ -96,13 +96,20 @@
|
|||
*/
|
||||
#define GDENUM(Name_, ...)\
|
||||
struct Name_ {\
|
||||
enum Value {__VA_ARGS__};\
|
||||
enum Value : int {__VA_ARGS__};\
|
||||
private:\
|
||||
Value value{};\
|
||||
public:\
|
||||
static inline godot::String get_property_hint() { return godot::String(#__VA_ARGS__); }\
|
||||
inline Name_(Value value): value{value} {}\
|
||||
inline Name_(Name_ const &value): value{value.value} {}\
|
||||
inline Name_(Value value) : value{value} {}\
|
||||
inline Name_(int value) : value{value} {}\
|
||||
inline Name_(Name_ const &value) : value{value.value} {}\
|
||||
inline bool operator==(Name_ const &rhs) const { return this->value == rhs.value; }\
|
||||
inline bool operator==(Value const &rhs) const { return this->value == rhs; }\
|
||||
inline bool operator!=(Name_ const &rhs) const { return this->value != rhs.value; }\
|
||||
inline bool operator!=(Value const &rhs) const { return this->value != rhs; }\
|
||||
inline operator Value() const { return this->value; }\
|
||||
inline operator int() const { return this->value; }\
|
||||
}
|
||||
|
||||
#endif // !UTILS_GODOT_MACROS_HPP
|
||||
|
|
Loading…
Reference in New Issue