From 38409781c352f2db0636e59c52b524f931752523 Mon Sep 17 00:00:00 2001 From: Jan van der Weide Date: Mon, 28 Apr 2025 20:28:15 +0200 Subject: [PATCH] chore: progress --- .../modules/sequester/client_window.cpp.old | 33 +++++++++++++++++++ engine/modules/sequester/client_window.h | 12 +++++++ engine/modules/sequester/client_window.h.old | 31 +++++++++++++++++ engine/modules/sequester/register_types.cpp | 2 ++ project/stage.tscn | 12 +++---- project/window.gd | 1 - 6 files changed, 84 insertions(+), 7 deletions(-) create mode 100644 engine/modules/sequester/client_window.cpp.old create mode 100644 engine/modules/sequester/client_window.h create mode 100644 engine/modules/sequester/client_window.h.old diff --git a/engine/modules/sequester/client_window.cpp.old b/engine/modules/sequester/client_window.cpp.old new file mode 100644 index 0000000..2db95d8 --- /dev/null +++ b/engine/modules/sequester/client_window.cpp.old @@ -0,0 +1,33 @@ +#include "client_window.h" + +SubViewport ClientWindow::get_target_sub_viewport() { + return this->target_sub_viewport; +} + +void ClientWindow::set_target_sub_viewport(SubViewport new_sub_viewport) { + this->target_sub_viewport = new_sub_viewport; +} + +Node2D ClientWindow::get_player() { + return this->player; +} + +void ClientWindow::set_player(Node2D new_player) { + this->player = new_player; +} + +void ClientWindow::set_world_2d() { + this->world_2d = this->target_sub_viewport.find_world_2d(); +} + +void ClientWindow::_bind_methods() { + +} + +void ClientWindow::_notification(int p_what) { + +} + +void ClientWindow::move_camera() { + this->camera.position = this->player.position; +} diff --git a/engine/modules/sequester/client_window.h b/engine/modules/sequester/client_window.h new file mode 100644 index 0000000..e43818a --- /dev/null +++ b/engine/modules/sequester/client_window.h @@ -0,0 +1,12 @@ +#ifndef CLIENT_WINDOW_H +#define CLIENT_WINDOW_H + +#include "scene/main/window.h" + +class ClientWindow : public Window { + GDCLASS(ClientWindow, Window); + + +}; + +#endif // !CLIENT_WINDOW_H diff --git a/engine/modules/sequester/client_window.h.old b/engine/modules/sequester/client_window.h.old new file mode 100644 index 0000000..cbf2468 --- /dev/null +++ b/engine/modules/sequester/client_window.h.old @@ -0,0 +1,31 @@ +#ifndef CLIENT_WINDOW_H +#define CLIENT_WINDOW_H + +#include "scene/main/window.h" +#include "scene/main/viewport.h" +#include "scene/2d/node_2d.h" + +class ClientWindow : public Window { + GDCLASS(ClientWindow, Window); + + private: + SubViewport target_sub_viewport {}; + Node2D player {}; + + public: + SubViewport get_target_sub_viewport(); + void set_target_sub_viewport(SubViewport new_sub_viewport); + + Node2D get_player(); + void set_player(Node2D new_player); + + void set_world_2d(); + protected: + static void _bind_methods(); + void _notification(int p_what); + + private: + void move_camera(); +}; + +#endif // !CLIENT_WINDOW_H diff --git a/engine/modules/sequester/register_types.cpp b/engine/modules/sequester/register_types.cpp index 06ecaa1..470a39f 100644 --- a/engine/modules/sequester/register_types.cpp +++ b/engine/modules/sequester/register_types.cpp @@ -1,11 +1,13 @@ #include "register_types.h" #include "core/object/class_db.h" +#include "client_window.h" void initialize_sequester_module(ModuleInitializationLevel p_level) { if (p_level != MODULE_INITIALIZATION_LEVEL_SCENE) { return; } + ClassDB::register_class(); } void uninitialize_sequester_module(ModuleInitializationLevel p_level) { diff --git a/project/stage.tscn b/project/stage.tscn index 1b8f9a5..3a42718 100644 --- a/project/stage.tscn +++ b/project/stage.tscn @@ -13,19 +13,19 @@ autoplay = true [node name="Level" type="SubViewport" parent="."] -[node name="Level" parent="Level" instance=ExtResource("2_rnkuw")] +[node name="Level2" parent="Level" instance=ExtResource("2_rnkuw")] -[node name="Player" parent="Level/Level" index="0"] +[node name="Player" parent="Level/Level2" index="0"] player_number = 1 -[node name="Player2" parent="Level/Level" index="1"] +[node name="Player2" parent="Level/Level2" index="1"] player_number = 2 [node name="Window" parent="." node_paths=PackedStringArray("player") instance=ExtResource("9_jx6rg")] title = "Window1" position = Vector2i(1000, 36) size = Vector2i(800, 480) -player = NodePath("../Level/Level/Player") +player = NodePath("../Level/Level2/Player") [node name="Camera2D" type="Camera2D" parent="Window"] zoom = Vector2(2, 2) @@ -35,11 +35,11 @@ zoom = Vector2(2, 2) [node name="Window2" parent="." node_paths=PackedStringArray("player") instance=ExtResource("9_jx6rg")] title = "Window2" size = Vector2i(800, 480) -player = NodePath("../Level/Level/Player2") +player = NodePath("../Level/Level2/Player2") [node name="Camera2D" type="Camera2D" parent="Window2"] zoom = Vector2(2, 2) [node name="ParallaxBg" parent="Window2" instance=ExtResource("8")] -[editable path="Level/Level"] +[editable path="Level/Level2"] diff --git a/project/window.gd b/project/window.gd index 123e423..bb1e010 100644 --- a/project/window.gd +++ b/project/window.gd @@ -6,7 +6,6 @@ extends Window func _ready() -> void: var world = get_node("../Level").find_world_2d() world_2d = world - func _process(delta: float) -> void: camera.position = player.position