From 397da65e03ec681922aeea3881918026d36068a7 Mon Sep 17 00:00:00 2001 From: WBoerenkamps Date: Wed, 20 Nov 2024 20:24:17 +0100 Subject: result of loeks temper tantrum --- src/example/events.cpp | 120 ------------------------------------------------- 1 file changed, 120 deletions(-) delete mode 100644 src/example/events.cpp (limited to 'src/example') diff --git a/src/example/events.cpp b/src/example/events.cpp deleted file mode 100644 index 3dee9fa..0000000 --- a/src/example/events.cpp +++ /dev/null @@ -1,120 +0,0 @@ -#include - -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -using namespace crepe; -using namespace std; - -class MyScript : public Script, public IKeyListener, public IMouseListener { - void update() { - // Retrieve component from the same GameObject this script is on - Transform & test = get_component(); - dbg_logf("Transform(%.2f, %.2f)", test.position.x, test.position.y); - } - - bool on_key_pressed(const KeyPressEvent & event) override { - std::cout << "KeyPressed function" << std::endl; - return false; - } - bool on_key_released(const KeyReleaseEvent & event) override { - std::cout << "KeyRelease function" << std::endl; - return false; - } - bool on_mouse_clicked(const MouseClickEvent & event) override { - std::cout << "MouseClick function" << std::endl; - return false; - } - bool on_mouse_pressed(const MousePressEvent & event) override { - std::cout << "MousePress function" << std::endl; - return false; - } - bool on_mouse_released(const MouseReleaseEvent & event) override { - std::cout << "MouseRelease function" << std::endl; - return false; - } - bool on_mouse_moved(const MouseMoveEvent & event) override { - std::cout << "MouseMove function" << std::endl; - return false; - } -}; -class TestKeyListener : public IKeyListener { -public: - bool on_key_pressed(const KeyPressEvent & event) override { - std::cout << "TestKeyListener: Key Pressed - Code: " << static_cast(event.key) - << std::endl; - return true; // Return true if the listener should remain active - } - bool on_key_released(const KeyReleaseEvent & event) override { - std::cout << "TestKeyListener: Key Released - Code: " << static_cast(event.key) - << std::endl; - return true; - } -}; -int main() { - - { - // two events to trigger - KeyPressEvent key_press; - key_press.key = Keycode::A; - key_press.repeat = 0; - MouseClickEvent click_event; - click_event.button = MouseButton::LEFT_MOUSE; - click_event.mouse_x = 100; - click_event.mouse_y = 200; - // queue events to test queue - EventManager::get_instance().queue_event(key_press); - EventManager::get_instance().queue_event(click_event); - TestKeyListener test_listener; - //auto obj = GameObject(0, "name", "tag", Vector2{1.2, 3.4}, 0, 1); - //obj.add_component().set_script(); - - //ScriptSystem sys; - //sys.update(); - - // Trigger the events while `testListener` is in scope - //EventManager::get_instance().trigger_event(key_press, 1); - // EventManager::get_instance().trigger_event( - // MouseClickEvent{ - // .mouse_x = 100, - // .mouse_y = 100, - // .button = MouseButton::LEFT_MOUSE, - // }, - // 1); - //EventManager::get_instance().trigger_event(click_event, 0); - } - // custom lambda event handler - EventHandler event_handler = [](const KeyPressEvent & e) { - std::cout << "key lambda test" << std::endl; - return true; - }; - EventHandler event_handler2 = [](const MouseClickEvent & e) { - std::cout << "mouse lambda test" << std::endl; - return false; - }; - EventManager::get_instance().subscribe(event_handler, CHANNEL_ALL); - EventManager::get_instance().subscribe(event_handler, CHANNEL_ALL); - EventManager::get_instance().subscribe(event_handler2, CHANNEL_ALL); - EventManager::get_instance().trigger_event( - KeyPressEvent{.repeat = false, .key = Keycode::A}); - //EventManager::get_instance().unsubscribe(event_handler, 0); - // testing trigger with testListener not in scope (unsubscribed) - // EventManager::get_instance().trigger_event(key_press, 0); - // EventManager::get_instance().trigger_event(click_event, 0); - // dispatching queued events - //EventManager::get_instance().dispatch_events(); - - EventManager::get_instance().unsubscribe(event_handler); - return EXIT_SUCCESS; -} -- cgit v1.2.3