#ifndef CREATURELIB_STATUSCHANGEEVENT_HPP #define CREATURELIB_STATUSCHANGEEVENT_HPP namespace CreatureLib::Battling { class StatusChangeEvent final : public CreatureLib::Battling::EventData { ArbUt::BorrowedPtr _creature; ArbUt::StringView _statusName; public: explicit StatusChangeEvent(const ArbUt::BorrowedPtr& creature, const ArbUt::StringView& name) : _creature(creature), _statusName(name) {} [[nodiscard]] CreatureLib::Battling::EventDataKind GetKind() const noexcept override { return static_cast(EventDataKind::StatusChange); } const ArbUt::BorrowedPtr& GetCreature() const noexcept { return _creature; } const ArbUt::StringView& GetStatusName() const noexcept { return _statusName; } }; } #endif // CREATURELIB_STATUSCHANGEEVENT_HPP