Resolve memory issue with Event Hooks.
continuous-integration/drone/push Build is passing

This commit is contained in:
Deukhoofd committed 2019-12-15 12:27:56 +01:00
1 parent 410487c86b
commit db002c784f
3 files changed
+5 -3

No files matched your search

+1
View File
@@ -9,6 +9,7 @@ namespace CreatureLib::Battling {
class EventData {
public:
virtual ~EventData() = default;
virtual EventDataKind GetKind() = 0;
};
+1
View File
@@ -19,6 +19,7 @@ namespace CreatureLib::Battling {
for (auto listener : _listeners) {
listener(eventData);
}
delete eventData;
}
};
}
+3 -3
View File
@@ -23,7 +23,7 @@ namespace CreatureLib::Battling {
ChoiceQueue* _currentTurnQueue = nullptr;
bool _hasEnded = false;
BattleResult _battleResult = BattleResult::Empty();
EventHook* _eventHook = new EventHook();
EventHook _eventHook = EventHook();
ScriptSet _volatile;
@@ -74,8 +74,8 @@ namespace CreatureLib::Battling {
const std::vector<BattleSide*>& GetSides() const { return _sides; }
void RegisterEventListener(EVENT_HOOK_FUNC(listener)) { this->_eventHook->RegisterListener(listener); }
void TriggerEventListener(EventData* data) { this->_eventHook->TriggerEvent(data); }
void RegisterEventListener(EVENT_HOOK_FUNC(listener)) { this->_eventHook.RegisterListener(listener); }
void TriggerEventListener(EventData* data) { this->_eventHook.TriggerEvent(data); }
};
}