aboutsummaryrefslogtreecommitdiff
path: root/game/src/GameSession
diff options
context:
space:
mode:
Diffstat (limited to 'game/src/GameSession')
-rw-r--r--game/src/GameSession/MapView.tscn2
-rw-r--r--game/src/GameSession/Minimap.gd15
-rw-r--r--game/src/GameSession/RectangularCamera.gd24
3 files changed, 40 insertions, 1 deletions
diff --git a/game/src/GameSession/MapView.tscn b/game/src/GameSession/MapView.tscn
index 4650acb..63d16ef 100644
--- a/game/src/GameSession/MapView.tscn
+++ b/game/src/GameSession/MapView.tscn
@@ -19,7 +19,7 @@ _camera = NodePath("MapCamera")
_map_mesh_instance = NodePath("MapMeshInstance")
[node name="MapCamera" type="Camera3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0, 1, 1)
+transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0, 1, 0)
[node name="MapMeshInstance" type="MeshInstance3D" parent="."]
transform = Transform3D(10, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0)
diff --git a/game/src/GameSession/Minimap.gd b/game/src/GameSession/Minimap.gd
new file mode 100644
index 0000000..4bf028b
--- /dev/null
+++ b/game/src/GameSession/Minimap.gd
@@ -0,0 +1,15 @@
+extends Control
+
+
+var MouseInside: bool = false
+
+func _process(delta):
+ if MouseInside:
+ print(get_local_mouse_position())
+
+func _on_mouse_entered():
+ MouseInside = true
+
+
+func _on_mouse_exited():
+ MouseInside = false
diff --git a/game/src/GameSession/RectangularCamera.gd b/game/src/GameSession/RectangularCamera.gd
new file mode 100644
index 0000000..55deb1d
--- /dev/null
+++ b/game/src/GameSession/RectangularCamera.gd
@@ -0,0 +1,24 @@
+extends Control
+
+
+@export var pos_x = 100.0
+@export var pos_y = 100.0
+@export var zoom_x = 10
+@export var zoom_y = 10
+@onready var _frame: TextureRect = $"../TextureRect"
+
+var RectangularCamera = Rect2(pos_x,pos_y,zoom_x,zoom_y)
+
+func _draw() -> void:
+ draw_rect(RectangularCamera,Color.BLACK,false,-1)
+
+func _on_map_view_map_view_camera_change(camera_position):
+
+ zoom_x = camera_position.y*(_frame.size.x/20)*1.77
+ zoom_y = camera_position.y*(_frame.size.y/20)*1.77
+
+ pos_x = camera_position.x*(_frame.size.x/20) + _frame.size.x/2 - zoom_x/2 # + _frame.size.x/2 - zoom_x/2 - Translation from camera_position.x to pos_x (i.e. 0px for center on camera_pos -> 175px for center on rect_camera)
+ pos_y = camera_position.z*(_frame.size.y/10) + _frame.size.y/2 - zoom_y/2 # + _frame.size.y/2 - zoom_y/2 - Translation from camera_position.y to pos_y (i.e. 0px for center on camera_pos -> 87.5px for center on rect_camera)
+
+ RectangularCamera = Rect2(pos_x,pos_y,zoom_x,zoom_y)
+ queue_redraw()