64 lines
2.2 KiB
GDScript
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
|
|
|