cosmic/scripts/Ship/minimap_marker.gd
2024-06-09 23:01:14 +03:00

31 lines
716 B
GDScript

extends Node2D
class_name MinimapMarker
@onready var marker = $MarkerSprite
@onready var ship = $"../../.."
enum Type { Ship, Base, Loot, Quest }
var target : Node2D
var type := Type.Ship
const TYPES_INDEXES = {
Type.Ship: 0,
Type.Base: 1,
Type.Loot: 2,
Type.Quest: 3
}
func _ready():
marker.frame = TYPES_INDEXES[type]
# Update marker angle and size
func _process(_delta):
if !is_instance_valid(target):
queue_free()
return
rotation = ship.global_position.angle_to_point(target.global_position)
var sp_scale = 2048 / clamp(ship.global_position.distance_to(target.global_position), 2048, 8192)
marker.scale = Vector2(sp_scale, sp_scale)
#modulate = target.material.get_shader_parameter("color")