extends Node2D
@onready var cbcar: CharacterBody2D = $CharacterBody_Car
@onready var carbody: Sprite2D = $CharacterBody_Car/sprite_body


func getSpeed() -> float:
	return cbcar.velocity.length()
	
func getPosition():
	return cbcar.position

func getPositionLookahead(t:float):
	#return position of car in t seconds
	return getPosition()+cbcar.velocity*t

func setPosition(p:Vector2):
	cbcar.position=p

func setPlayerinformation(playerid, playercolor):
	cbcar.playerid=playerid
	carbody.modulate = playercolor
	
	
func setCheckpoints(cps,rounds):
	cbcar.checkpoints=cps
	cbcar.checkpointtimes.resize(cps.size()*rounds)
	cbcar.checkpointtimes.fill(0.0)

func move_and_slide():
	cbcar.move_and_slide()
	
func printDebug():
	for i in cbcar.get_slide_collision_count():
		var collision = cbcar.get_slide_collision(i)
		print(""+str(cbcar.playerid)+" Collided with: "+ str( collision.get_collider().name)+" pid="+str(collision.get_collider().playerid)+" pos="+str(collision.get_collider().position))

func setRunning(r:bool):
	cbcar.running=r
	
func getCharacterBody():
	return cbcar
	
func hasFinished():
	return cbcar.finalTime!=-1
