Files
2025-08-26 18:17:23 +02:00

42 lines
1007 B
GDScript

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)