diff --git a/src/base-environments/transition/code/dolly.gd b/src/base-environments/transition/code/dolly.gd index 3e05610..1a8a4c1 100644 --- a/src/base-environments/transition/code/dolly.gd +++ b/src/base-environments/transition/code/dolly.gd @@ -5,12 +5,22 @@ extends Node3D @export var index : int = -1 @export var signage_group : String -@export var pre_arrival_time : float = 17.0 -@export var arrival_time : float = 15.0 -@export var pre_leave_time : float = 20.0 +@export_group("Motion") +@export_subgroup("Arrival") +@export var pre_arrival_time : float = 17.0 # hold train for this long (to sync with audio!) +@export var arrival_time : float = 15.0 # train takes this long to enter (shorter = faster) +@export var trans_arrival : Tween.TransitionType = Tween.TRANS_CIRC +@export var ease_arrival : Tween.EaseType = Tween.EASE_OUT + +@export_subgroup("In Station") +@export var station_wait_time : float = 20.0 + +@export_subgroup("Departure") @export var door_close_time : float = 1.0 -@export var leave_time : float = 15.0 -@export var post_leave_time : float = 5.0 +@export var leave_time : float = 15.0 # train takes this long to leave the platform +@export var trans_departure : Tween.TransitionType = Tween.TRANS_QUAD +@export var ease_departure : Tween.EaseType = Tween.EASE_IN + @onready var origination : Node3D = $Origination @onready var destination : Node3D = $Destination @@ -73,7 +83,7 @@ func arrive(endstation : bool = false) -> void: train_approaching.emit(self) if tween: tween.kill() - tween = create_tween().set_trans(Tween.TRANS_CIRC).set_ease(Tween.EASE_OUT) + tween = create_tween().set_trans(trans_arrival).set_ease(ease_arrival) tween.parallel().tween_property(subway, "global_position", self.global_position, arrival_time) await tween.finished subway.door_open = true @@ -90,7 +100,7 @@ func arrive(endstation : bool = false) -> void: func leave() -> void: - await get_tree().create_timer(pre_leave_time).timeout + await get_tree().create_timer(station_wait_time).timeout subway.door_open = false await get_tree().create_timer(door_close_time).timeout @@ -100,7 +110,7 @@ func leave() -> void: if tween: tween.kill() - tween = create_tween().set_trans(Tween.TRANS_QUART).set_ease(Tween.EASE_IN) + tween = create_tween().set_trans(trans_departure).set_ease(ease_departure) tween.parallel().tween_property(subway, "global_position", destination.global_position, leave_time) # Player is on board and will be leaving diff --git a/src/base-environments/transition/subway_sequence.tscn b/src/base-environments/transition/subway_sequence.tscn index cc0dc9f..d10167d 100644 --- a/src/base-environments/transition/subway_sequence.tscn +++ b/src/base-environments/transition/subway_sequence.tscn @@ -221,24 +221,12 @@ unique_name_in_owner = true transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.2, -0.2, -32.5) index = 0 signage_group = "signage2" -pre_arrival_time = 17.0 -arrival_time = 15.0 -pre_leave_time = 20.0 -door_close_time = 1.0 -leave_time = 15.0 -post_leave_time = 5.0 [node name="Track1Dolly" parent="Logic" instance=ExtResource("17_yfan7")] unique_name_in_owner = true transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, -6.2, -0.2, -32.5) index = 1 signage_group = "signage1" -pre_arrival_time = 17.0 -arrival_time = 15.0 -pre_leave_time = 20.0 -door_close_time = 1.0 -leave_time = 15.0 -post_leave_time = 5.0 [node name="Fahrplan" type="Node3D" parent="Logic"] script = ExtResource("4_yfan7") diff --git a/src/base-environments/transition/subway_track.tscn b/src/base-environments/transition/subway_track.tscn index 2241c86..2a860a3 100644 --- a/src/base-environments/transition/subway_track.tscn +++ b/src/base-environments/transition/subway_track.tscn @@ -108,14 +108,6 @@ size = Vector3(31.194, 0.8, 3.8) [node name="TrainDolly" type="Node3D"] script = ExtResource("1_5jpg8") -index = null -signage_group = null -pre_arrival_time = null -arrival_time = null -pre_leave_time = null -door_close_time = null -leave_time = null -post_leave_time = null metadata/_custom_type_script = "uid://dgfje4druu3sw" [node name="Destination" type="Node3D" parent="."]