#include "ui_layer_double.hpp" #include "utils.hpp" namespace example { void ui_layer_double::on_attach() { m_key = VE::CONNECT(this); hack::log()("on_attach"); } void ui_layer_double::on_detach() { VE::DISCONNECT(m_key); hack::log()("on_detach"); } void ui_layer_double::render() { ImGui::SetNextWindowPos(ImVec2{ 10.f, 10.f }); ImGui::SetNextWindowSize(m_size); if (!ImGui::Begin(VE_NAME("Test signal_double"), nullptr, m_win_flags)) ImGui::End(); VE_PUSH_FONT(REGULAR, 20); if (ImGui::Button("Test signal_double", ImVec2(128, 130))) VE::EMIT(test_event::TEST_EVEN, std::string("test event message ui_layer_double")); if (ImGui::Button("Test on_detach", ImVec2(128, 130))) on_detach(); VE_POP_FONT(); ImGui::End(); } void ui_layer_double::on_event(VE::event e) { // для событий от перефирии // if (e.m_type.type() == typeid(VE::event_type)) // { // auto t = std::any_cast(e.m_type); // if (t != VE::event_type::MOUSE_CURSOR_POSITION) // hack::log()((int)t); // } if (e.m_type.type() == typeid(test_event)) { auto t = std::any_cast(e.m_type); if (t == test_event::TEST_EVEN) hack::log()(std::any_cast(e.m_data)); } } void ui_layer_double::update() { } }