small racing game im working on
Diffstat (limited to 'ui/map.gd')
-rw-r--r--ui/map.gd13
1 files changed, 10 insertions, 3 deletions
diff --git a/ui/map.gd b/ui/map.gd
index 0469d14..9ff8a79 100644
--- a/ui/map.gd
+++ b/ui/map.gd
@@ -1,10 +1,12 @@
extends Line2D
+class_name MiniMap
+var car: Node3D
@export var track: TrackLoader
-@export var car: Node3D
@export var player_color: Color
func _ready() -> void:
+ set_process(false)
clear_points()
width = track.track.track_width
if !track.track.is_loop:
@@ -14,13 +16,18 @@ func _ready() -> void:
var p := flatten(point_3d)
add_point(p)
-
func _process(_delta: float) -> void:
queue_redraw()
func _draw() -> void:
- var point := flatten(track.curve.get_closest_point(car.ball.global_position))
+ if !car: return
+ var point := flatten(track.curve.get_closest_point(car.global_position))
draw_circle(point, width / 2, player_color)
func flatten(vec: Vector3) -> Vector2:
return Vector2(vec.x, vec.z)
+
+func _on_race_created_car(_car) -> void:
+ car = _car.ball
+ set_process(true)
+