class_name Grid extends Node2D @export var width: int = 12 @export var height: int = 12 @export var cell_size: Vector2 = Vector2(128, 128) @export var show_debug: bool = false @export var show_grid: bool = true @export var show_label: bool = true var grid: Dictionary = {} func generateGrid(): print("Generating Grid") for x in width: for y in height: grid[Vector2(x,y)] = null if show_grid: var rect = ReferenceRect.new() rect.position = gridToWorld(Vector2(x,y)) rect.size = cell_size rect.editor_only = false $Debug.add_child(rect) # print("Adding Rect ", x, "| ", y) if show_label: var label = Label.new() label.position = gridToWorld(Vector2(x,y)) label.text = str(Vector2(x,y)) $Debug.add_child(label) print("Grid generation done.") func _draw() -> void: if show_debug: $Debug.show() func gridToWorld(_pos: Vector2) -> Vector2: return _pos * cell_size func worldToGrid(_pos: Vector2) -> Vector2: return floor(_pos / cell_size)