feat: train easings exposed
This commit is contained in:
parent
f0ad263e57
commit
8561310d9e
|
|
@ -5,12 +5,22 @@ extends Node3D
|
||||||
@export var index : int = -1
|
@export var index : int = -1
|
||||||
@export var signage_group : String
|
@export var signage_group : String
|
||||||
|
|
||||||
@export var pre_arrival_time : float = 17.0
|
@export_group("Motion")
|
||||||
@export var arrival_time : float = 15.0
|
@export_subgroup("Arrival")
|
||||||
@export var pre_leave_time : float = 20.0
|
@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 door_close_time : float = 1.0
|
||||||
@export var leave_time : float = 15.0
|
@export var leave_time : float = 15.0 # train takes this long to leave the platform
|
||||||
@export var post_leave_time : float = 5.0
|
@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 origination : Node3D = $Origination
|
||||||
@onready var destination : Node3D = $Destination
|
@onready var destination : Node3D = $Destination
|
||||||
|
|
@ -73,7 +83,7 @@ func arrive(endstation : bool = false) -> void:
|
||||||
train_approaching.emit(self)
|
train_approaching.emit(self)
|
||||||
|
|
||||||
if tween: tween.kill()
|
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)
|
tween.parallel().tween_property(subway, "global_position", self.global_position, arrival_time)
|
||||||
await tween.finished
|
await tween.finished
|
||||||
subway.door_open = true
|
subway.door_open = true
|
||||||
|
|
@ -90,7 +100,7 @@ func arrive(endstation : bool = false) -> void:
|
||||||
|
|
||||||
|
|
||||||
func leave() -> 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
|
subway.door_open = false
|
||||||
await get_tree().create_timer(door_close_time).timeout
|
await get_tree().create_timer(door_close_time).timeout
|
||||||
|
|
||||||
|
|
@ -100,7 +110,7 @@ func leave() -> void:
|
||||||
|
|
||||||
|
|
||||||
if tween: tween.kill()
|
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)
|
tween.parallel().tween_property(subway, "global_position", destination.global_position, leave_time)
|
||||||
|
|
||||||
# Player is on board and will be leaving
|
# Player is on board and will be leaving
|
||||||
|
|
|
||||||
|
|
@ -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)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.2, -0.2, -32.5)
|
||||||
index = 0
|
index = 0
|
||||||
signage_group = "signage2"
|
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")]
|
[node name="Track1Dolly" parent="Logic" instance=ExtResource("17_yfan7")]
|
||||||
unique_name_in_owner = true
|
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)
|
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, -6.2, -0.2, -32.5)
|
||||||
index = 1
|
index = 1
|
||||||
signage_group = "signage1"
|
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"]
|
[node name="Fahrplan" type="Node3D" parent="Logic"]
|
||||||
script = ExtResource("4_yfan7")
|
script = ExtResource("4_yfan7")
|
||||||
|
|
|
||||||
|
|
@ -108,14 +108,6 @@ size = Vector3(31.194, 0.8, 3.8)
|
||||||
|
|
||||||
[node name="TrainDolly" type="Node3D"]
|
[node name="TrainDolly" type="Node3D"]
|
||||||
script = ExtResource("1_5jpg8")
|
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"
|
metadata/_custom_type_script = "uid://dgfje4druu3sw"
|
||||||
|
|
||||||
[node name="Destination" type="Node3D" parent="."]
|
[node name="Destination" type="Node3D" parent="."]
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue