diff --git a/Scenes/Main/main.gd b/Scenes/Main/main.gd index a5a92a4..9c3e456 100644 --- a/Scenes/Main/main.gd +++ b/Scenes/Main/main.gd @@ -1,18 +1,28 @@ extends Node @onready var _Map: Node = $Map -@onready var _Unit = $Unit @onready var _Camera = $CameraController +# Units var _UnitScene = preload("res://Scenes/Unit/unit.tscn") +var _Units: Array[Unit] = [] +# MovingMarker +var _MovingMarkerScene = preload("res://Scenes/Unit/marker.tscn") +var _MovingMarker: Node2D = _MovingMarkerScene.instantiate() #@export var mapSize: int = 15 # Called when the node enters the scene tree for the first time. func _ready() -> void: - _createUnit(Vector2i(150, 150)) + add_child(_MovingMarker) + _MovingMarker.hide() + + _createUnit(Vector2i(10,10)) + for unit in _Units: + add_child(unit) pass + # Called every frame. 'delta' is the elapsed time since the previous frame. func _process(delta: float) -> void: @@ -20,5 +30,19 @@ func _process(delta: float) -> void: func _createUnit(pos: Vector2i): var newUnit = _UnitScene.instantiate() - newUnit.global_position = pos - add_child(newUnit) + newUnit.set("_spawnPosition", pos) + _Units.append(newUnit as Unit) + +func _input(event: InputEvent) -> void: + if event.is_action_pressed("SetMarker"): + print("Action is SetMarker") + _MovingMarker.global_position = _getMousePosition(event).position + _MovingMarker.show() + + +func _getScreenCenter(): + return get_viewport().get_camera_2d().get_screen_center_position() + + +func _getMousePosition(event: InputEvent): + return get_viewport().get_camera_2d().make_input_local(event) diff --git a/Scenes/Main/main.tscn b/Scenes/Main/main.tscn index 8adc4f0..bf73e5b 100644 --- a/Scenes/Main/main.tscn +++ b/Scenes/Main/main.tscn @@ -1,9 +1,8 @@ -[gd_scene load_steps=5 format=3 uid="uid://d05j5yuhlsxp0"] +[gd_scene load_steps=4 format=3 uid="uid://d05j5yuhlsxp0"] [ext_resource type="PackedScene" uid="uid://cywuuce71rmgb" path="res://Scenes/Map/map.tscn" id="1_1r6ip"] [ext_resource type="Script" uid="uid://btdvxp8ckmeb3" path="res://Scenes/Main/main.gd" id="1_qw60k"] [ext_resource type="PackedScene" uid="uid://bfvijh611aggp" path="res://Scenes/Camera/camera_controller.tscn" id="3_qw60k"] -[ext_resource type="PackedScene" uid="uid://dy7rltpxyqyw7" path="res://Scenes/Unit/unit.tscn" id="4_5yls4"] [node name="Main" type="Node"] script = ExtResource("1_qw60k") @@ -11,5 +10,3 @@ script = ExtResource("1_qw60k") [node name="Map" parent="." instance=ExtResource("1_1r6ip")] [node name="CameraController" parent="." instance=ExtResource("3_qw60k")] - -[node name="Unit" parent="." instance=ExtResource("4_5yls4")] diff --git a/Scenes/Unit/marker.tscn b/Scenes/Unit/marker.tscn index 1016c80..d2f9337 100644 --- a/Scenes/Unit/marker.tscn +++ b/Scenes/Unit/marker.tscn @@ -1,15 +1,16 @@ [gd_scene load_steps=3 format=3 uid="uid://bhcenjcsstaaf"] -[sub_resource type="PlaceholderTexture2D" id="PlaceholderTexture2D_4a8kw"] -size = Vector2(8, 8) +[ext_resource type="Texture2D" uid="uid://cxtkb8rqq0j6r" path="res://Graphics/TileMaps/kenney_rpgUrbanKit/Tiles/tile_0407.png" id="1_y5thb"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_4a8kw"] -size = Vector2(8, 8) +size = Vector2(16, 16) [node name="Marker" type="Node2D"] +top_level = true +z_index = 20 [node name="Sprite2D" type="Sprite2D" parent="."] -texture = SubResource("PlaceholderTexture2D_4a8kw") +texture = ExtResource("1_y5thb") [node name="Area2D" type="Area2D" parent="."]