#ifndef CREATURELIB_CHANGESPECIESEVENT_HPP #define CREATURELIB_CHANGESPECIESEVENT_HPP #include "EventData.hpp" namespace CreatureLib::Battling { class ChangeSpeciesEvent final : public EventData { const ArbUt::BorrowedPtr _creature; const ArbUt::BorrowedPtr _newSpecies; public: ChangeSpeciesEvent(const ArbUt::BorrowedPtr& creature, const ArbUt::BorrowedPtr& species) noexcept : _creature(creature), _newSpecies(species) {} EventDataKind GetKind() const noexcept override { return EventDataKind ::ChangeSpecies; } const ArbUt::BorrowedPtr& GetCreature() const noexcept { return _creature; } const ArbUt::BorrowedPtr& GetNewSpecies() const noexcept { return _newSpecies; } }; } #endif // CREATURELIB_CHANGESPECIESEVENT_HPP