class_name Grid extends Node2D @export var ground_radius : float @export var cell_height : float @export var num_collumns : int @export var debug : bool @export var packed_buildings : Array[PackedScene] var buildings : Array[Building] = [] func _draw() -> void: if !debug: return for i in range(10): draw_arc(Vector2.ZERO, ground_radius + i * cell_height, 0, TAU, 250, Color.SKY_BLUE, 1.0, true); for i in range(num_collumns): var angle = i * TAU / num_collumns; draw_line(Vector2.ZERO, 10000 * Vector2.from_angle(angle), Color.SKY_BLUE); func add_building_to_collumn(building : Building, collumn : int): # find the height of the top building in the buildings list: building.location = Vector2(collumn, -1) var spot_clear : bool = false while(!spot_clear): building.location.y += 1 spot_clear = true for other in buildings: if other.overlaps(building): spot_clear = false add_child(building) # for testing #func _ready() -> void: # # # #for i in range(100): #var test_building = packed_buildings[0].instantiate() #var collumn = randi() % 60 #add_building_to_collumn(test_building, collumn)