tool extends Control export var color = Color() export var size:int = 16 export var zoom = 0 export var offset = Vector2(0, 0) func _enter_tree(): set_process(true) func _draw(): if size == 0: size = 1 var temp_size = size + zoom var wrap_offset = Vector2(wrapf(offset.x, 0, temp_size), wrapf(offset.y, 0, temp_size)) var ceil_x = ceil(rect_size.x / temp_size) var ceil_y = ceil(rect_size.y / temp_size) for i in ceil_y: var start_x = Vector2(0, (i * temp_size) + wrap_offset.y) var end_x = Vector2(rect_size.x, (i * temp_size) + wrap_offset.y) # var end_x = Vector2(int(rect_size.x) + size - int(rect_size.x) % size, (i * temp_size) + wrap_offset.y) draw_line(start_x, end_x, color, 1) for i in ceil_x: var start_y = Vector2((i * temp_size) + wrap_offset.x, 0) var end_y = Vector2((i * temp_size) + (wrap_offset.x), rect_size.y) # var end_y = Vector2((i * temp_size) + (wrap_offset.x), int(rect_size.y) + size - int(rect_size.y) % size) draw_line(start_y, end_y, color, 1) func _process(delta): update()