summaryrefslogtreecommitdiff
path: root/core/include
diff options
context:
space:
mode:
Diffstat (limited to 'core/include')
-rw-r--r--core/include/turns/core/disposition.hpp21
-rw-r--r--core/include/turns/core/fwd.hpp2
-rw-r--r--core/include/turns/core/participant.hpp10
-rw-r--r--core/include/turns/core/turn_order.hpp2
4 files changed, 24 insertions, 11 deletions
diff --git a/core/include/turns/core/disposition.hpp b/core/include/turns/core/disposition.hpp
index 92a7d03..89a2cb0 100644
--- a/core/include/turns/core/disposition.hpp
+++ b/core/include/turns/core/disposition.hpp
@@ -2,13 +2,15 @@
#define TURNS_CORE_DISPOSITION_HPP
#include <glibmm/ustring.h>
+#include <glibmm/value.h>
+
+#include <glib-object.h>
#include <cstdint>
namespace turns::core
{
-
- enum struct disposition : std::uint8_t
+ enum struct Disposition : std::uint8_t
{
neutral,
friendly,
@@ -19,8 +21,19 @@ namespace turns::core
END
};
- auto presentation_name_for(disposition value) -> Glib::ustring;
-
+ auto presentation_name_for(Disposition value) -> Glib::ustring;
} // namespace turns::core
+namespace Glib
+{
+ template<>
+ class Value<turns::core::Disposition> : public Glib::Value_Enum<turns::core::Disposition>
+ {
+ GType static constinit inline gtype_{};
+
+ public:
+ auto static value_type() -> GType;
+ };
+} // namespace Glib
+
#endif \ No newline at end of file
diff --git a/core/include/turns/core/fwd.hpp b/core/include/turns/core/fwd.hpp
index 612e8c8..48380e3 100644
--- a/core/include/turns/core/fwd.hpp
+++ b/core/include/turns/core/fwd.hpp
@@ -5,7 +5,7 @@
namespace turns::core
{
- enum struct disposition : std::uint8_t;
+ enum struct Disposition : std::uint8_t;
struct Participant;
struct turn_order;
diff --git a/core/include/turns/core/participant.hpp b/core/include/turns/core/participant.hpp
index d2f2035..0edc421 100644
--- a/core/include/turns/core/participant.hpp
+++ b/core/include/turns/core/participant.hpp
@@ -16,21 +16,21 @@ namespace turns::core
{
struct Participant : Glib::Object
{
- auto static create(Glib::ustring name, float priority, disposition disposition) -> Glib::RefPtr<Participant>;
+ auto static create(Glib::ustring name, float priority, Disposition disposition) -> Glib::RefPtr<Participant>;
auto static create(nlohmann::json const & serialized) -> Glib::RefPtr<Participant>;
Participant();
- Participant(Glib::ustring name, float priority, disposition disposition);
+ Participant(Glib::ustring name, float priority, Disposition disposition);
auto operator<=>(Participant const & other) const noexcept -> std::partial_ordering;
- [[nodiscard]] auto get_disposition() const -> disposition;
+ [[nodiscard]] auto get_disposition() const -> Disposition;
[[nodiscard]] auto get_is_active() const -> bool;
[[nodiscard]] auto get_is_defeated() const -> bool;
[[nodiscard]] auto get_name() const -> Glib::ustring;
[[nodiscard]] auto get_priority() const -> float;
- auto set_disposition(disposition value) -> void;
+ auto set_disposition(Disposition value) -> void;
auto set_is_active(bool value) -> void;
auto set_is_defeated(bool value) -> void;
auto set_name(Glib::ustring const & value) -> void;
@@ -45,7 +45,7 @@ namespace turns::core
auto serialize() -> nlohmann::json;
private:
- Glib::Property<core::disposition> m_disposition{*this, "disposition", core::disposition::neutral};
+ Glib::Property<core::Disposition> m_disposition{*this, "disposition", core::Disposition::neutral};
Glib::Property<bool> m_is_active{*this, "is-active", false};
Glib::Property<bool> m_is_defeated{*this, "is-defeated", false};
Glib::Property<Glib::ustring> m_name{*this, "name", ""};
diff --git a/core/include/turns/core/turn_order.hpp b/core/include/turns/core/turn_order.hpp
index 6a0ee43..030f4c9 100644
--- a/core/include/turns/core/turn_order.hpp
+++ b/core/include/turns/core/turn_order.hpp
@@ -57,7 +57,7 @@ namespace turns::core
auto skip_defeated() -> Glib::PropertyProxy<skip_defeated_type>;
/** Element Modifications */
- auto add(Glib::ustring const & name, float priority, disposition disposition) -> void;
+ auto add(Glib::ustring const & name, float priority, Disposition disposition) -> void;
auto clear() -> void;
auto remove(unsigned index) -> void;