diff --git a/modules/authority/character.cpp b/modules/authority/character.cpp index 6b738ed7..96d58776 100644 --- a/modules/authority/character.cpp +++ b/modules/authority/character.cpp @@ -1,6 +1,6 @@ #include "character.h" -#include "authority/macros.h" #include "core/config/engine.h" +#include "macros.h" void CharacterData::_bind_methods() { BIND_PROPERTY(Variant::FLOAT, speed); diff --git a/modules/authority/character.h b/modules/authority/character.h index db259213..5112665e 100644 --- a/modules/authority/character.h +++ b/modules/authority/character.h @@ -1,8 +1,8 @@ #pragma once -#include "authority/macros.h" #include "core/io/resource.h" #include "core/templates/hash_set.h" +#include "macros.h" #include "scene/3d/physics/character_body_3d.h" class CharacterData : public Resource { diff --git a/modules/authority/nav_marker.h b/modules/authority/nav_marker.h index 8e06579b..f8b26120 100644 --- a/modules/authority/nav_marker.h +++ b/modules/authority/nav_marker.h @@ -1,6 +1,6 @@ #pragma once -#include "authority/macros.h" +#include "macros.h" #include "scene/3d/marker_3d.h" class Character; diff --git a/modules/authority/player_character.h b/modules/authority/player_character.h index 48f7cc67..4b74dc4a 100644 --- a/modules/authority/player_character.h +++ b/modules/authority/player_character.h @@ -1,8 +1,8 @@ #pragma once #include "authority/character.h" -#include "authority/macros.h" #include "authority/nav_marker.h" +#include "macros.h" class PlayerCharacter : public Character { GDCLASS(PlayerCharacter, Character); diff --git a/modules/authority/macros.h b/modules/macros.h similarity index 65% rename from modules/authority/macros.h rename to modules/macros.h index b08f9c17..c139f1f0 100644 --- a/modules/authority/macros.h +++ b/modules/macros.h @@ -25,4 +25,21 @@ this->m_property = value; \ } +#define GET_SET_FNS_EX(m_type, m_property, m_ex) \ + m_type get_##m_property() const { \ + return this->m_property; \ + } \ + void set_##m_property(m_type value) { \ + m_ex; \ + this->m_property = value; \ + } + +#define __VA_ARGS__STRING(...) String(#__VA_ARGS__) + +#define GDENUM(M_Name, ...) \ + enum M_Name { __VA_ARGS__ }; \ + static String M_Name##_hint() { \ + return __VA_ARGS__STRING(__VA_ARGS__); \ + } + #endif // !GODOT_EXTRA_MACROS_H