extends Spatial var road_ray:RayCast var collider var road:Road puppet var slave_transform:Transform signal road_entered(road) func _ready(): road_ray = get_node("ray") func _physics_process(delta): if (is_network_master()): if road_ray.is_colliding(): if road_ray.get_collider() != collider: var parent = road_ray.get_collider().get_parent() if parent is Road && road != parent && !parent.is_preview(): collider = road_ray.get_collider() road = parent emit_signal("road_entered",road) rset_unreliable("slave_transform", get_global_transform()) else: set_global_transform(slave_transform)