2019-08-04 09:57:42 +02:00
|
|
|
tool
|
|
|
|
extends Control
|
|
|
|
|
|
|
|
export var color = Color()
|
|
|
|
export var size = 16
|
|
|
|
export var zoom = 0
|
|
|
|
export var offset = Vector2(0, 0)
|
|
|
|
|
|
|
|
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))
|
2019-11-23 12:33:43 +01:00
|
|
|
|
|
|
|
var ceil_x = floor(rect_size.x / temp_size) + 0.01
|
|
|
|
var ceil_y = floor(rect_size.y / temp_size) + 0.01
|
2019-08-04 09:57:42 +02:00
|
|
|
|
|
|
|
for i in ceil_y:
|
|
|
|
var start_x = Vector2(0, (i * temp_size) + wrap_offset.y)
|
2019-08-05 02:16:14 +02:00
|
|
|
var end_x = Vector2(rect_size.x, (i * temp_size) + wrap_offset.y)
|
2019-08-04 09:57:42 +02:00
|
|
|
draw_line(start_x, end_x, color, 1)
|
|
|
|
|
|
|
|
for i in ceil_x:
|
|
|
|
var start_y = Vector2((i * temp_size) + wrap_offset.x, 0)
|
2019-08-05 02:16:14 +02:00
|
|
|
var end_y = Vector2((i * temp_size) + (wrap_offset.x + 0.01), rect_size.y)
|
2019-08-04 09:57:42 +02:00
|
|
|
draw_line(start_y, end_y, color, 1)
|
|
|
|
|
|
|
|
func _process(delta):
|
2019-11-23 12:33:43 +01:00
|
|
|
update()
|