#ifndef CREATURELIB_EXPERIENCEGAINEVENT_HPP #define CREATURELIB_EXPERIENCEGAINEVENT_HPP #include "EventData.hpp" namespace CreatureLib::Battling { class ExperienceGainEvent final : public EventData { ArbUt::BorrowedPtr _creature; uint32_t _previousExperience; uint32_t _newExperience; public: ExperienceGainEvent(const ArbUt::BorrowedPtr& creature, uint32_t previousExp, uint32_t newExp) : _creature(creature), _previousExperience(previousExp), _newExperience(newExp) {} EventDataKind GetKind() const noexcept override { return EventDataKind ::ExperienceGain; } const ArbUt::BorrowedPtr& GetCreature() const noexcept { return _creature; } uint32_t GetPreviousExperience() const noexcept { return _previousExperience; } uint32_t GetNewExperience() const noexcept { return _newExperience; } }; } #endif // CREATURELIB_EXPERIENCEGAINEVENT_HPP