PopTheLockClone/addons/primitives2d/rectangle2d.gd
Bobby Lucero c3323fb6dd Initial Commit
Didn't use git for a minute, oh well.
2025-06-05 00:32:29 -04:00

42 lines
889 B
GDScript

@tool
extends Node2D
class_name Rectangle2D
@export var color: Color = Color(1.0, 1.0, 1.0) :
set(new_color):
if color == new_color:
return
color = new_color
queue_redraw()
@export var size: Vector2 = Vector2(10, 10) :
set(new_size):
if size == new_size:
return
size = new_size
queue_redraw()
@export var filled: bool = true :
set(new_filled):
if filled == new_filled:
return
filled = new_filled
queue_redraw()
@export var line_width: float = -1.0 :
set(new_line_width):
if line_width == new_line_width:
return
line_width = new_line_width
queue_redraw()
@export var centered: bool = false :
set(new_centered):
if centered == new_centered:
return
centered = new_centered
queue_redraw()
func _draw() -> void:
var rect = Rect2(Vector2.ZERO, size)
if centered:
rect.position -= rect.size / 2
draw_rect(rect, color, filled, line_width)