This commit is contained in:
2025-04-18 15:20:11 +03:00
parent bd9caa5b5e
commit 71d9949055
4 changed files with 25 additions and 4 deletions

View File

@@ -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();

View File

@@ -31,9 +31,11 @@ namespace VE
public:
template <typename TYPE, typename DATA>
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)

View File

@@ -1,6 +1,8 @@
#pragma once
#include <any>
#include <string>
#include <hack/security/uuid.hpp>
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();
};
}

View File

@@ -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)
{