Added display text event hook.

This commit is contained in:
2020-03-09 17:43:36 +01:00
parent 314b8997be
commit 5a976e4031
6 changed files with 16 additions and 3 deletions

View File

@@ -52,6 +52,15 @@ namespace CreatureLib::Battling {
Creature* GetCreature() const { return _creature; }
};
class DisplayTextEvent : public EventData {
const std::string _text;
public:
DisplayTextEvent(const std::string& text) : _text(text) {}
EventDataKind GetKind() const override { return EventDataKind ::DisplayText; }
const std::string& GetText() const { return _text; }
};
}
#endif // CREATURELIB_EVENTDATA_HPP

View File

@@ -3,7 +3,7 @@
#include <Arbutils/Enum.hpp>
namespace CreatureLib::Battling {
ENUM(EventDataKind, uint8_t, Damage, Heal, Faint)
ENUM(EventDataKind, uint8_t, Damage, Heal, Faint, DisplayText)
}

View File

@@ -15,7 +15,7 @@ namespace CreatureLib::Battling {
public:
void RegisterListener(EVENT_HOOK_FUNC(func)) { _listeners.push_back(func); }
void TriggerEvent(EventData* eventData) {
void TriggerEvent(EventData* eventData) const {
for (auto listener : _listeners) {
listener(eventData);
}