From 71d99490551d8b4cb0b3a5a5ccb0ae50e1da6e9f Mon Sep 17 00:00:00 2001 From: chatlanin Date: Fri, 18 Apr 2025 15:20:11 +0300 Subject: [PATCH] add log --- example/layers/ui_layer/ui_layer.cpp | 2 +- src/event/connector.hpp | 6 ++++-- src/event/event.hpp | 4 ++++ src/event/event_manager.hpp | 17 ++++++++++++++++- 4 files changed, 25 insertions(+), 4 deletions(-) diff --git a/example/layers/ui_layer/ui_layer.cpp b/example/layers/ui_layer/ui_layer.cpp index 367b790..59771d6 100755 --- a/example/layers/ui_layer/ui_layer.cpp +++ b/example/layers/ui_layer/ui_layer.cpp @@ -26,7 +26,7 @@ namespace example VE_PUSH_FONT(REGULAR, 20); if (ImGui::Button("Test signal", ImVec2(128, 130))) - EMIT(test_event::TEST_EVEN, std::string("test event message"), 1); + EMIT(test_event::TEST_EVEN, std::string("test event message"), 1, "test event log msg"); VE_POP_FONT(); diff --git a/src/event/connector.hpp b/src/event/connector.hpp index 1a75388..556c334 100755 --- a/src/event/connector.hpp +++ b/src/event/connector.hpp @@ -31,9 +31,11 @@ namespace VE public: template - static void EMIT(TYPE t, DATA d, int id = -1) + static void EMIT(TYPE t, DATA d, int id = -1, std::string msg = "") { - event_manager::instance().emit(event{ t, d, id}); + event e{ t, d, id}; + if (msg != "") e.m_event_log_message = msg; + event_manager::instance().emit(e); } static void EMIT(event e) diff --git a/src/event/event.hpp b/src/event/event.hpp index 5a98afc..bb89305 100755 --- a/src/event/event.hpp +++ b/src/event/event.hpp @@ -1,6 +1,8 @@ #pragma once #include +#include +#include namespace VE { @@ -12,5 +14,7 @@ namespace VE std::any m_type; std::any m_data; int m_id; + std::string m_event_log_message; + std::string m_event_id = hack::security::generate_uuid(); }; } diff --git a/src/event/event_manager.hpp b/src/event/event_manager.hpp index 76827e1..d054df2 100755 --- a/src/event/event_manager.hpp +++ b/src/event/event_manager.hpp @@ -29,9 +29,24 @@ namespace VE void emit(event e) { + if (m_funcs.size() == 0) + { + hack::warn()("emit funs size is empty", m_funcs.size()); + return; + } + else if (!e.m_event_log_message.empty()) + { + hack::log()("EVENT LOG:", e.m_event_id, e.m_event_log_message); + } + try { - for(auto [key, f] : m_funcs) m_funcs[key](e); + for(auto [key, f] : m_funcs) + { + m_funcs[key](e); + if (!e.m_event_log_message.empty()) + hack::warn()("EVENT KEY:", key, e.m_event_log_message, e.m_event_id); + } } catch(const std::exception& ex) {