extends Node2D class_name Unit var _spawnPosition: Vector2 ### Marker # For now the marker will be spawned and deleted by the unit. # Later it will be handled by the main scene. # Load marker scene. # var marker_scene: PackedScene = preload("res://Scenes/Unit/marker.tscn") # var marker ## WE NOW USE A SIMPLE SPRITE2D FOR THE MARKER @onready var _readyToSelectMarker: Sprite2D = $ReadyToSelectMarker @onready var _selectedMarker: Sprite2D = $SelectedMarker #@onready var _movingMarker: Sprite2D = $MovingMarker var _readyToSelect: bool = false var _selected: bool = false #var _moving: bool = false var TargetPosition: Vector2 # Called when the node enters the scene tree for the first time. func _ready() -> void: # marker = marker_scene.instantiate() # marker.hide() global_position = _spawnPosition _readyToSelectMarker.hide() _selectedMarker.hide() # _movingMarker.hide() # Called every frame. 'delta' is the elapsed time since the previous frame. func _process(delta: float) -> void: pass func _input(event: InputEvent): if event.is_action_pressed("Select"): print_debug("Action is Select") # We combine it with the fact that it is already marked (@see _markUnit) if _readyToSelect: _selectUnit() else: _deselectUnit() # if event.is_action_pressed("SetMarker"): # print("Action is SetMarker") # if _selected: # print("Setting marker to ", event.position) # #marker.global_position = event.position ## marker.show() ## _movingMarker.position = get_global_mouse_position() ## _movingMarker.show() func _getUnitPosition(): return $AnimatedSprite2D.global_position func _setSelected(selected: bool): _selected = selected func _selectUnit(): _setSelected(true) _selectedMarker.show() func _deselectUnit(): _setSelected(false) _selectedMarker.hide() func _gets_selected(viewport: Node, event: InputEvent, shape_index: int): if event.is_action_pressed("Select") and event.position == position: _selectUnit() func _markUnit(): _readyToSelect = true _readyToSelectMarker.show() func _unMarkUnit(): _readyToSelect = false _readyToSelectMarker.hide() func moveToTarget():