tool extends Node2D class_name Map var ship_direction = 0 var ship_speed = 1000 var current_ship_direction = 0 var current_ship_speed = 0 const SPEED_EASE = 0.5 const DIRECTION_EASE = 0.5 const EPSILON = 0.01 export(NodePath) var tilemap_path onready var tilemap = get_node(tilemap_path) as MapTiles export var unlit = false setget set_unlit onready var darkness = $darkness func _ready(): set_unlit(false) if not Engine.editor_hint: $editorDarkness.queue_free() func set_unlit(val): unlit = val if darkness: darkness.visible = not val func _process(delta): if Engine.editor_hint: return if abs(ship_direction - current_ship_direction) < EPSILON: current_ship_direction = ship_direction else: current_ship_direction = lerp(current_ship_direction, ship_direction, delta * DIRECTION_EASE) if abs(ship_speed - current_ship_speed) < EPSILON: current_ship_speed = ship_speed else: current_ship_speed = lerp(current_ship_speed, ship_speed, delta * SPEED_EASE) $deepspace.rotation = current_ship_direction-PI/2 $deepspace.region_rect.position += Vector2(sin(current_ship_direction), cos(current_ship_direction)) * current_ship_speed * delta