[gd_scene load_steps=9 format=2]

[ext_resource path="res://assets/trolley-lg.png" type="Texture" id=1]
[ext_resource path="res://scripts/trolley.gd" type="Script" id=2]
[ext_resource path="res://assets/trolley.wav" type="AudioStream" id=3]
[ext_resource path="res://assets/smoke.png" type="Texture" id=4]

[sub_resource type="CircleShape2D" id=4]
radius = 172.29

[sub_resource type="RectangleShape2D" id=2]
extents = Vector2( 38, 10 )

[sub_resource type="Gradient" id=5]
offsets = PoolRealArray( 0.133152, 0.782609, 0.942935 )
colors = PoolColorArray( 0.143419, 0.143419, 0.143419, 1, 0.34375, 0.34375, 0.34375, 1, 0.631373, 0.631373, 0.631373, 0 )

[sub_resource type="RectangleShape2D" id=3]
extents = Vector2( 44.5, 8.25 )

[node name="Trolley" type="KinematicBody2D" groups=["pausable", "plays_audio"]]
collision_layer = 4
script = ExtResource( 2 )

[node name="TrolleySurroundingArea" type="Area2D" parent="."]

[node name="CollisionShape2D" type="CollisionShape2D" parent="TrolleySurroundingArea"]
position = Vector2( 0, -45 )
shape = SubResource( 4 )

[node name="TrolleySeatArea" type="Area2D" parent="."]
collision_layer = 0

[node name="SeatAreaShape" type="CollisionShape2D" parent="TrolleySeatArea"]
position = Vector2( -1, -41 )
shape = SubResource( 2 )

[node name="SmokeParticles" type="CPUParticles2D" parent="."]
position = Vector2( -145, -12 )
amount = 24
lifetime = 10.0
preprocess = 10.0
explosiveness = 0.07
randomness = 0.95
lifetime_randomness = 0.36
texture = ExtResource( 4 )
direction = Vector2( -1, -0.1 )
spread = 7.85
gravity = Vector2( 0, -20 )
initial_velocity = 160.0
initial_velocity_random = 0.13
angular_velocity = -6.61
angular_velocity_random = 1.0
damping = 8.71
angle = 231.2
angle_random = 1.0
scale_amount = 10.18
color_ramp = SubResource( 5 )
hue_variation_random = 1.0

[node name="Sprite" type="Sprite" parent="."]
position = Vector2( 0, -70 )
scale = Vector2( 6, 6 )
texture = ExtResource( 1 )

[node name="TrolleyShape" type="CollisionPolygon2D" parent="."]
position = Vector2( 0, -64 )
scale = Vector2( 0.8, 0.8 )
polygon = PoolVector2Array( 172, -5, 198, 106, 150, 106, 122, 127, 74, 109, 46, 83, 43.75, 16.25, -46.25, 16.25, -48, 48, -48, 84, -78, 110, -114, 127, -148, 107, -197, 107, -163, 5, -163, -72, 165, -72 )

[node name="TrolleyClosedShape" type="CollisionShape2D" parent="."]
position = Vector2( 0, -2.25 )
shape = SubResource( 3 )

[node name="Timer" type="Timer" parent="."]

[node name="AudioStreamPlayer2D" type="AudioStreamPlayer2D" parent="."]
stream = ExtResource( 3 )
pitch_scale = 0.99
max_distance = 800.0

[connection signal="body_shape_exited" from="TrolleySurroundingArea" to="." method="_on_TrolleySurroundingArea_body_exited"]
[connection signal="body_entered" from="TrolleySeatArea" to="." method="_on_TrolleySeatArea_body_entered"]
[connection signal="timeout" from="Timer" to="." method="_on_Timer_timeout"]
