@tool extends PelletSpread class_name PelletSpreadRandom const ASPECT = 1.7777777777777777 @export var random_amount: int @export_range(0,89,0.1,"radians_as_degrees") var radius: float @export var aspect_ratio: float = 1.7777777777777777 @export_tool_button("Randomize points") var randomize_button = randomize_points func randomize_points() -> void: curve.clear_points() var viewport_aspect_trasformation = Vector2(ASPECT,1) var custom_aspect_transformation = Vector2(aspect_ratio,1./aspect_ratio) var transformation_vector = get_viewport_rect().size / viewport_aspect_trasformation /PI for i in range(random_amount): var unscaled_position = Vector2(randf_range(-radius,radius),randf_range(-radius,radius)) var scaled_position = unscaled_position*transformation_vector curve.add_point(scaled_position)