Add Pokemon Status.
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2020-08-08 12:01:05 +02:00
parent d8e166e49a
commit 683f3ad08b
8 changed files with 67 additions and 11 deletions

View File

@@ -0,0 +1,27 @@
#ifndef PKMNLIB_STATUSCHANGEEVENT_HPP
#define PKMNLIB_STATUSCHANGEEVENT_HPP
#include <Arbutils/String/StringView.hpp>
#include <CreatureLib/Battling/EventHooks/EventData.hpp>
#include "../Pokemon/Pokemon.hpp"
#include "PkmnEventKind.hpp"
namespace PkmnLib::Battling {
class StatusChangeEvent : public CreatureLib::Battling::EventData {
ArbUt::BorrowedPtr<Pokemon> _pokemon;
ArbUt::StringView _statusName;
public:
explicit StatusChangeEvent(const ArbUt::BorrowedPtr<Pokemon>& pkmn, const ArbUt::StringView& name)
: _pokemon(pkmn), _statusName(name) {}
[[nodiscard]] CreatureLib::Battling::EventDataKind GetKind() const noexcept override {
return static_cast<CreatureLib::Battling::EventDataKind>(PkmnEventDataKind::StatusChange);
}
const ArbUt::BorrowedPtr<Pokemon>& GetPokemon() const noexcept { return _pokemon; }
const ArbUt::StringView& GetStatusName() const noexcept { return _statusName; }
};
}
#endif // PKMNLIB_STATUSCHANGEEVENT_HPP