diff options
Diffstat (limited to 'core/include')
| -rw-r--r-- | core/include/turns/core/disposition.hpp | 21 | ||||
| -rw-r--r-- | core/include/turns/core/fwd.hpp | 2 | ||||
| -rw-r--r-- | core/include/turns/core/participant.hpp | 10 | ||||
| -rw-r--r-- | core/include/turns/core/turn_order.hpp | 2 |
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; |
