Randoloot/scripts/ui/ship_schematic.gd
2026-10-09 14:45:28 +02:00

42 lines
1.3 KiB
GDScript

extends Control
func _draw() -> void:
var center := size.x * 0.5
var hull_color := Color(0.35, 0.72, 0.85, 1.0)
var hull_highlight := Color(0.72, 0.9, 0.96, 1.0)
var weapon_color := Color(0.98, 0.65, 0.28, 1.0)
var fuselage := PackedVector2Array([
Vector2(center, 8),
Vector2(center + 13, 44),
Vector2(center + 25, 100),
Vector2(center, 132),
Vector2(center - 25, 100),
Vector2(center - 13, 44),
])
var left_wing := PackedVector2Array([
Vector2(center - 11, 49),
Vector2(center - 62, 82),
Vector2(center - 46, 108),
Vector2(center - 23, 96),
])
var right_wing := PackedVector2Array([
Vector2(center + 11, 49),
Vector2(center + 62, 82),
Vector2(center + 46, 108),
Vector2(center + 23, 96),
])
draw_colored_polygon(left_wing, hull_color)
draw_colored_polygon(right_wing, hull_color)
draw_colored_polygon(fuselage, hull_highlight)
draw_polyline(PackedVector2Array([Vector2(center, 17), Vector2(center, 116)]), hull_color, 2.0)
draw_colored_polygon(PackedVector2Array([
Vector2(center - 18, 32), Vector2(center - 8, 36),
Vector2(center - 10, 48), Vector2(center - 20, 44),
]), weapon_color)
draw_colored_polygon(PackedVector2Array([
Vector2(center + 18, 32), Vector2(center + 8, 36),
Vector2(center + 10, 48), Vector2(center + 20, 44),
]), weapon_color)