[gd_scene load_steps=6 format=2]

[ext_resource path="res://objects/falling_log/assets/log.svg" type="Texture" id=1]
[ext_resource path="res://objects/falling_log/falling_log.gd" type="Script" id=2]

[sub_resource type="RectangleShape2D" id=1]
extents = Vector2( 34.5, 20 )

[sub_resource type="Animation" id=2]
resource_name = "player_on_log"
length = 3.0
tracks/0/type = "value"
tracks/0/path = NodePath("Sprite:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0, 0.2, 0.5, 3 ),
"transitions": PoolRealArray( -2, 0.5, 6, 1 ),
"update": 0,
"values": [ Vector2( 0, 20 ), Vector2( 0, 40 ), Vector2( 0, 25 ), Vector2( 0, 1000 ) ]
}
tracks/1/type = "value"
tracks/1/path = NodePath("Sprite:modulate")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = {
"times": PoolRealArray( 0, 0.5, 2.5 ),
"transitions": PoolRealArray( 1, 6, 2 ),
"update": 0,
"values": [ Color( 1, 1, 1, 1 ), Color( 1, 1, 1, 1 ), Color( 1, 1, 1, 0 ) ]
}
tracks/2/type = "value"
tracks/2/path = NodePath("Collision:position")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/keys = {
"times": PoolRealArray( 0, 0.2, 0.5, 3 ),
"transitions": PoolRealArray( 1, -2, 6, 1 ),
"update": 0,
"values": [ Vector2( 0, 20 ), Vector2( 0, 40 ), Vector2( 0, 25 ), Vector2( 0, 1000 ) ]
}

[sub_resource type="Animation" id=3]
resource_name = "recover"
tracks/0/type = "value"
tracks/0/path = NodePath("Sprite:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0, 1 ),
"transitions": PoolRealArray( -2, 1 ),
"update": 0,
"values": [ Vector2( 0, 50 ), Vector2( 0, 20 ) ]
}
tracks/1/type = "value"
tracks/1/path = NodePath("Collision:position")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = {
"times": PoolRealArray( 0.001, 1 ),
"transitions": PoolRealArray( -2, 1 ),
"update": 0,
"values": [ Vector2( 0, 50 ), Vector2( 0, 20 ) ]
}
tracks/2/type = "value"
tracks/2/path = NodePath("Sprite:modulate")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/keys = {
"times": PoolRealArray( 0, 1 ),
"transitions": PoolRealArray( 1, 1 ),
"update": 0,
"values": [ Color( 1, 1, 1, 0 ), Color( 1, 1, 1, 1 ) ]
}

[node name="FallingLog" type="StaticBody2D"]
collision_layer = 4
collision_mask = 0
script = ExtResource( 2 )

[node name="Sprite" type="Sprite" parent="."]
position = Vector2( 0, 20 )
texture = ExtResource( 1 )

[node name="Collision" type="CollisionShape2D" parent="."]
position = Vector2( 0, 20 )
shape = SubResource( 1 )

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

[node name="Collision" type="CollisionShape2D" parent="PlayerCollision"]
position = Vector2( 0, 20 )
scale = Vector2( 1.2, 1.2 )
shape = SubResource( 1 )

[node name="Animation" type="AnimationPlayer" parent="."]
anims/player_on_log = SubResource( 2 )
anims/recover = SubResource( 3 )

[connection signal="body_entered" from="PlayerCollision" to="." method="_on_PlayerCollision"]
[connection signal="animation_finished" from="Animation" to="." method="_on_Animation_finished"]
