diff options
author | JAROWMR <jarorutjes07@gmail.com> | 2024-11-23 19:50:01 +0100 |
---|---|---|
committer | JAROWMR <jarorutjes07@gmail.com> | 2024-11-23 19:50:01 +0100 |
commit | 444ec7306c8ef43d36f7c6d6e767571b30d10484 (patch) | |
tree | 9d4b68f9104b60cd0060f7a67aba6d6202c86e41 /src/example | |
parent | b6d255762de0bfd5dd096f7eae295a6b1b357bbb (diff) |
Fixing PR
Diffstat (limited to 'src/example')
-rw-r--r-- | src/example/events.cpp | 113 | ||||
-rw-r--r-- | src/example/rendering.cpp | 59 |
2 files changed, 0 insertions, 172 deletions
diff --git a/src/example/events.cpp b/src/example/events.cpp deleted file mode 100644 index e6d91aa..0000000 --- a/src/example/events.cpp +++ /dev/null @@ -1,113 +0,0 @@ -#include <iostream> - -#include <crepe/ComponentManager.h> -#include <crepe/system/ScriptSystem.h> -#include <crepe/util/Log.h> - -#include <crepe/api/BehaviorScript.h> -#include <crepe/api/Config.h> -#include <crepe/api/Event.h> -#include <crepe/api/EventManager.h> -#include <crepe/api/GameObject.h> -#include <crepe/api/IKeyListener.h> -#include <crepe/api/IMouseListener.h> -#include <crepe/api/KeyCodes.h> -#include <crepe/api/Script.h> -#include <crepe/api/Transform.h> - -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<Transform>(); - 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; - this->deactivate_keys(); - 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<int>(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<int>(event.key) << std::endl; - return true; - } -}; -int main() { - EventManager & evmgr = EventManager::get_instance(); - ComponentManager mgr{}; - ScriptSystem sys{mgr}; - - // 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 - evmgr.queue_event<KeyPressEvent>(std::move(key_press), 0); - evmgr.queue_event<MouseClickEvent>(std::move(click_event), 0); - { - TestKeyListener test_listener; - test_listener.set_channel(1); - auto obj = mgr.new_object("name", "tag", Vector2{1.2, 3.4}, 0, 1); - obj.add_component<BehaviorScript>().set_script<MyScript>(); - - sys.update(); - - // Trigger the events while `testListener` is in scope - evmgr.trigger_event<KeyPressEvent>(key_press, 1); - evmgr.trigger_event(MouseClickEvent{ - .mouse_x = 100, - .mouse_y = 100, - .button = MouseButton::LEFT_MOUSE, - },1); - } - // custom lambda event handler - EventHandler<KeyPressEvent> event_handler = [](const KeyPressEvent & e) { - std::cout << "lambda test" << std::endl; - return false; - }; - evmgr.subscribe<KeyPressEvent>(std::move(event_handler), 0); - // testing trigger with testListener not in scope (unsubscribed) - evmgr.trigger_event<KeyPressEvent>(key_press, 0); - evmgr.trigger_event<MouseClickEvent>(click_event, 0); - // dispatching queued events - evmgr.dispatch_events(); - - evmgr.unsubscribe<KeyPressEvent>(event_handler, 0); - return EXIT_SUCCESS; -} diff --git a/src/example/rendering.cpp b/src/example/rendering.cpp deleted file mode 100644 index 9e3c8cc..0000000 --- a/src/example/rendering.cpp +++ /dev/null @@ -1,59 +0,0 @@ -#include "api/Camera.h" -#include <crepe/ComponentManager.h> -#include <crepe/api/GameObject.h> -#include <crepe/system/RenderSystem.h> -#include <crepe/util/Log.h> - -#include <crepe/api/AssetManager.h> -#include <crepe/api/Color.h> -#include <crepe/api/Sprite.h> -#include <crepe/api/Texture.h> -#include <crepe/api/Transform.h> -#include <crepe/api/Vector2.h> - -#include <chrono> -#include <memory> - -using namespace std; -using namespace crepe; - -int main() { - dbg_trace(); - - ComponentManager mgr{}; - RenderSystem sys{mgr}; - - GameObject obj = mgr.new_object("name", "tag", Vector2{0, 0}, 1, 1); - GameObject obj1 = mgr.new_object("name", "tag", Vector2{500, 0}, 1, 0.1); - GameObject obj2 = mgr.new_object("name", "tag", Vector2{800, 0}, 1, 0.1); - - // Normal adding components - { - Color color(0, 0, 0, 0); - obj.add_component<Sprite>(make_shared<Texture>("../asset/texture/green_square.png"), color, - FlipSettings{false, false}); - obj.add_component<Camera>(Color::RED); - } - { - Color color(0, 0, 0, 0); - obj1.add_component<Sprite>(make_shared<Texture>("../asset/texture/green_square.png"), color, - FlipSettings{true, true}); - } - - /* - { - Color color(0, 0, 0, 0); - auto img = mgr.cache<Texture>("../asset/texture/second.png"); - obj2.add_component<Sprite>(img, color, FlipSettings{true, true}); - } - */ - - sys.update(); - /* - - auto start = std::chrono::steady_clock::now(); - while (std::chrono::steady_clock::now() - start < std::chrono::seconds(5)) { - sys.update(); - } - */ -} |