Files
SpaceBots/Minigames/Minigames/WiresMinigame.gd
2026-01-21 23:40:20 +01:00

64 lines
2.2 KiB
GDScript

extends MinigameController
class_name WiresMinigame
@onready var wireBase: Line2D = $WireBases/WireBase
@onready var wireBase2: Line2D = $WireBases/WireBase2
@onready var wireBase3: Line2D = $WireBases/WireBase3
@onready var wireBase4: Line2D = $WireBases/WireBase4
@onready var dragComp: DragComponent = $WireDraggers/Wire
@onready var dragComp2: DragComponent = $WireDraggers/Wire2
@onready var dragComp3: DragComponent = $WireDraggers/Wire3
@onready var dragComp4: DragComponent = $WireDraggers/Wire4
@onready var colorRect: ColorRect = $Sockets/Socket/Panel/ColorRect
@onready var colorRect2: ColorRect = $Sockets/Socket2/Panel/ColorRect
@onready var colorRect3: ColorRect = $Sockets/Socket3/Panel/ColorRect
@onready var colorRect4: ColorRect = $Sockets/Socket4/Panel/ColorRect
@onready var socket: GoalBox = $Sockets/Socket
@onready var socket2: GoalBox = $Sockets/Socket2
@onready var socket3: GoalBox = $Sockets/Socket3
@onready var socket4: GoalBox = $Sockets/Socket4
var colors: Array[Color] = [Color.RED,Color.BLUE,Color.YELLOW,Color.PURPLE]
func _ready() -> void:
colors.shuffle()
#Setup Wires
wireBase.default_color = colors[0]
wireBase2.default_color = colors[1]
wireBase3.default_color = colors[2]
wireBase4.default_color = colors[3]
dragComp.name = str(colors[0].to_rgba32())
dragComp2.name = str(colors[1].to_rgba32())
dragComp3.name = str(colors[2].to_rgba32())
dragComp4.name = str(colors[3].to_rgba32())
colors.shuffle()
#Setup Sockets
colorRect.color = colors[0]
colorRect2.color = colors[1]
colorRect3.color = colors[2]
colorRect4.color = colors[3]
socket.name = str(colors[0].to_rgba32())
socket2.name = str(colors[1].to_rgba32())
socket3.name = str(colors[2].to_rgba32())
socket4.name = str(colors[3].to_rgba32())
func _process(_delta: float) -> void:
if !dragComp.goalSocket or !dragComp2.goalSocket or !dragComp3.goalSocket or !dragComp4.goalSocket: return
if (dragComp.name == dragComp.goalSocket.name) and (dragComp2.name == dragComp2.goalSocket.name) and (dragComp3.name == dragComp3.goalSocket.name) and (dragComp4.name == dragComp4.goalSocket.name):
$Label.show()
win()
dragComp.openLockOnClick = false
dragComp2.openLockOnClick = false
dragComp3.openLockOnClick = false
dragComp4.openLockOnClick = false