2024-01-20 12:17:43 +00:00
|
|
|
class_name BriefcaseMachine extends Node
|
|
|
|
|
|
|
|
@export var ending : EndingManager
|
|
|
|
@export var cam : CameraManager
|
|
|
|
@export var cursor : CursorManager
|
|
|
|
@export var parent_eyes : Node3D
|
|
|
|
@export var parent_machine : Node3D
|
|
|
|
@export var speaker_machine : AudioStreamPlayer2D
|
|
|
|
@export var anim_machine : AnimationPlayer
|
|
|
|
@export var speaker_latchL : AudioStreamPlayer2D
|
|
|
|
@export var speaker_latchR : AudioStreamPlayer2D
|
|
|
|
@export var speaker_lid : AudioStreamPlayer2D
|
|
|
|
@export var anim_latchL : AnimationPlayer
|
|
|
|
@export var anim_latchR : AnimationPlayer
|
|
|
|
@export var anim_lid : AnimationPlayer
|
|
|
|
@export var intbranch_L : InteractionBranch
|
|
|
|
@export var intbranch_R : InteractionBranch
|
|
|
|
@export var intbranch_lid : InteractionBranch
|
2024-04-05 10:52:30 +01:00
|
|
|
@export var controller : ControllerManager
|
|
|
|
@export var btnParent_briefcase : Control
|
|
|
|
@export var btn_left : Control
|
2024-01-20 12:17:43 +00:00
|
|
|
|
|
|
|
var latchRaisedL = false
|
|
|
|
var latchRaisedR = false
|
|
|
|
|
|
|
|
func MainRoutine():
|
|
|
|
speaker_machine.play()
|
|
|
|
await get_tree().create_timer(.42, false).timeout
|
|
|
|
parent_eyes.visible = true
|
|
|
|
await get_tree().create_timer(1.28, false).timeout
|
|
|
|
parent_eyes.visible = false
|
|
|
|
anim_machine.play("move to table")
|
|
|
|
parent_machine.visible = true
|
|
|
|
await get_tree().create_timer(5.14, false).timeout
|
|
|
|
cam.BeginLerp("cash briefcase")
|
|
|
|
await get_tree().create_timer(.8, false).timeout
|
|
|
|
cursor.SetCursor(true, true)
|
|
|
|
intbranch_L.interactionAllowed = true
|
|
|
|
intbranch_R.interactionAllowed = true
|
2024-04-05 10:52:30 +01:00
|
|
|
btnParent_briefcase.visible = true
|
|
|
|
if (cursor.controller_active): btn_left.grab_focus()
|
|
|
|
controller.previousFocus = btn_left
|
2024-01-20 12:17:43 +00:00
|
|
|
|
|
|
|
func CheckLatches():
|
|
|
|
if (latchRaisedL == true && latchRaisedR == true):
|
|
|
|
await get_tree().create_timer(.3, false).timeout
|
|
|
|
intbranch_lid.interactionAllowed = true
|
|
|
|
|
|
|
|
func OpenLatch(alias : String):
|
|
|
|
match (alias):
|
|
|
|
"L":
|
|
|
|
intbranch_L.interactionAllowed = false
|
|
|
|
speaker_latchL.play()
|
|
|
|
anim_latchL.play("raise")
|
|
|
|
latchRaisedL = true
|
|
|
|
CheckLatches()
|
|
|
|
"R":
|
|
|
|
intbranch_R.interactionAllowed = false
|
|
|
|
speaker_latchR.play()
|
|
|
|
anim_latchR.play("raise")
|
|
|
|
latchRaisedR = true
|
|
|
|
CheckLatches()
|
|
|
|
|
|
|
|
func OpenLid():
|
2024-04-05 10:52:30 +01:00
|
|
|
btnParent_briefcase.visible = false
|
2024-01-20 12:17:43 +00:00
|
|
|
cursor.SetCursor(false, false)
|
|
|
|
intbranch_lid.interactionAllowed = false
|
|
|
|
anim_lid.play("open")
|
|
|
|
speaker_lid.play()
|
|
|
|
ending.BeginEnding()
|