feat: Tut Levels, Frog unlocks gates

This commit is contained in:
Jakob Feldmann 2023-08-01 17:16:06 +02:00
parent ee5feb73c1
commit 29489a6565
10 changed files with 1334 additions and 16 deletions

View File

@ -15,7 +15,8 @@ func _ready() -> void:
func unlock(key: String) -> void: func unlock(key: String) -> void:
if key.to_lower() == "gateblock": if key.to_lower() == "gateblock":
$CollisionShape2D.disabled = true $BlockShape.disabled = true
collision_layer = 0
visible = false visible = false

View File

@ -11,7 +11,7 @@ collision_layer = 8
collision_mask = 0 collision_mask = 0
script = ExtResource( 2 ) script = ExtResource( 2 )
[node name="CollisionShape2D" type="CollisionShape2D" parent="."] [node name="BlockShape" type="CollisionShape2D" parent="."]
shape = SubResource( 1 ) shape = SubResource( 1 )
[node name="Sprite" type="Sprite" parent="."] [node name="Sprite" type="Sprite" parent="."]

View File

@ -10,18 +10,22 @@ var activatable = false
func _process(delta): func _process(delta):
if activatable && Input.is_action_just_released("interact"): if activatable && Input.is_action_just_released("interact"):
selfActivate() selfActivate()
signalManager.emit_signal("unlocked", "gateblock")
func selfActivate(): func selfActivate():
indicatorPlayer.play("onning") indicatorPlayer.play("onning")
#TODO dis importante #TODO dis importante
activatorArea.set_deferred("monitoring", false) activatorArea.set_deferred("monitoring", false)
#TODO Close gate again?
signalManager.emit_signal("unlocked", "gateblock")
activatable = false
func _on_ActivatorArea_area_entered(area:Area2D) -> void: func _on_ActivatorArea_area_entered(area:Area2D) -> void:
$Label.visible = true $Label.visible = true
activatable = true activatable = true
if(area.get_parent().name == "WhatAreFrog"):
selfActivate()
func _on_ActivatorArea_area_exited(area:Area2D) -> void: func _on_ActivatorArea_area_exited(area:Area2D) -> void:
unactivatable_timer.start() unactivatable_timer.start()

View File

@ -42,10 +42,10 @@ unique_name_in_owner = true
process_mode = 1 process_mode = 1
[node name="AnimatedSprite" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="4"] [node name="AnimatedSprite" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="4"]
frame = 0 frame = 2
[node name="AnimatedSprite2" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="5"] [node name="AnimatedSprite2" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="5"]
frame = 13 frame = 1
[node name="Blobby" parent="." instance=ExtResource( 7 )] [node name="Blobby" parent="." instance=ExtResource( 7 )]
unique_name_in_owner = true unique_name_in_owner = true

View File

@ -63,10 +63,10 @@ drag_margin_top = 0.1
drag_margin_bottom = 0.1 drag_margin_bottom = 0.1
[node name="AnimatedSprite" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="4"] [node name="AnimatedSprite" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="4"]
frame = 7 frame = 9
[node name="AnimatedSprite2" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="5"] [node name="AnimatedSprite2" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="5"]
frame = 6 frame = 8
[node name="Blobby" parent="." instance=ExtResource( 8 )] [node name="Blobby" parent="." instance=ExtResource( 8 )]
unique_name_in_owner = true unique_name_in_owner = true
@ -107,7 +107,7 @@ position = Vector2( 1440, -64 )
[node name="Portal" parent="ElevatorButton" instance=ExtResource( 6 )] [node name="Portal" parent="ElevatorButton" instance=ExtResource( 6 )]
position = Vector2( 112, -8 ) position = Vector2( 112, -8 )
scale = Vector2( 0.5, 0.5 ) scale = Vector2( 0.5, 0.5 )
next_scene = "res://src/Levels/Actual Level 1.tscn" next_scene = "res://src/Levels/3 Tutorial Level.tscn"
[node name="Obstacles" type="Node2D" parent="."] [node name="Obstacles" type="Node2D" parent="."]
visible = false visible = false

View File

@ -80,10 +80,10 @@ wait_time = 20.0
unique_name_in_owner = true unique_name_in_owner = true
[node name="AnimatedSprite" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="4"] [node name="AnimatedSprite" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="4"]
frame = 3 frame = 9
[node name="AnimatedSprite2" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="5"] [node name="AnimatedSprite2" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="5"]
frame = 2 frame = 8
[node name="Blobby" parent="." instance=ExtResource( 10 )] [node name="Blobby" parent="." instance=ExtResource( 10 )]
unique_name_in_owner = true unique_name_in_owner = true
@ -136,7 +136,7 @@ elevator_time = 10
[node name="Portal" parent="ElevatorButton" instance=ExtResource( 4 )] [node name="Portal" parent="ElevatorButton" instance=ExtResource( 4 )]
position = Vector2( 175, 168 ) position = Vector2( 175, 168 )
scale = Vector2( 0.5, 0.5 ) scale = Vector2( 0.5, 0.5 )
next_scene = "res://src/Levels/Actual Level 1.tscn" next_scene = "res://src/Levels/4 Tutorial Level.tscn"
[node name="Obstacles" type="Node2D" parent="."] [node name="Obstacles" type="Node2D" parent="."]
position = Vector2( -56, 274 ) position = Vector2( -56, 274 )
@ -166,7 +166,7 @@ position = Vector2( 668, 100 )
position = Vector2( 692, 100 ) position = Vector2( 692, 100 )
[node name="FlyingPlatform2" parent="." instance=ExtResource( 14 )] [node name="FlyingPlatform2" parent="." instance=ExtResource( 14 )]
position = Vector2( -32, -127 ) position = Vector2( -40, -128 )
[node name="anim" parent="FlyingPlatform2" index="0"] [node name="anim" parent="FlyingPlatform2" index="0"]
autoplay = "Path" autoplay = "Path"

View File

@ -0,0 +1,345 @@
[gd_scene load_steps=28 format=2]
[ext_resource path="res://src/Environment/GreenHouseTiles.tres" type="TileSet" id=1]
[ext_resource path="res://src/Environment/DropThroughPlatforms.tres" type="TileSet" id=2]
[ext_resource path="res://assets/environment/decor/platform-plants.png" type="Texture" id=3]
[ext_resource path="res://src/Levels/Templates/LevelTemplate.gd" type="Script" id=4]
[ext_resource path="res://src/Utilities/SignalManager.tscn" type="PackedScene" id=5]
[ext_resource path="res://src/Utilities/LevelState.tscn" type="PackedScene" id=6]
[ext_resource path="res://src/UserInterface/UserInterface.tscn" type="PackedScene" id=7]
[ext_resource path="res://src/Actors/Blobby/Blobby.tscn" type="PackedScene" id=8]
[ext_resource path="res://src/Actors/BlobbyCam.tscn" type="PackedScene" id=9]
[ext_resource path="res://src/Contraptions/Portal/Portal.tscn" type="PackedScene" id=10]
[ext_resource path="res://src/Contraptions/Triggers/ElevatorButton.tscn" type="PackedScene" id=11]
[ext_resource path="res://src/ObstacleObjects/Spikes.tscn" type="PackedScene" id=12]
[ext_resource path="res://src/BenefitialObjects/Coin.tscn" type="PackedScene" id=13]
[ext_resource path="res://src/Contraptions/GateBlock.tscn" type="PackedScene" id=14]
[ext_resource path="res://src/Actors/Enemies/Beings/Caterpillar.tscn" type="PackedScene" id=15]
[ext_resource path="res://src/Platforms/FlyingPlatform.gd" type="Script" id=16]
[ext_resource path="res://assets/contraption/floating_platform_test.png" type="Texture" id=17]
[ext_resource path="res://src/Contraptions/Triggers/GateButton.tscn" type="PackedScene" id=18]
[ext_resource path="res://src/Platforms/FlyingLaserCutter.tscn" type="PackedScene" id=19]
[sub_resource type="AnimationNodeStateMachinePlayback" id=4]
[sub_resource type="TileSet" id=5]
0/name = "platform-plants.png 0"
0/texture = ExtResource( 3 )
0/tex_offset = Vector2( 0, 0 )
0/modulate = Color( 1, 1, 1, 1 )
0/region = Rect2( 16, 0, 256, 16 )
0/tile_mode = 2
0/autotile/icon_coordinate = Vector2( 5, 0 )
0/autotile/tile_size = Vector2( 16, 16 )
0/autotile/spacing = 0
0/autotile/occluder_map = [ ]
0/autotile/navpoly_map = [ ]
0/autotile/priority_map = [ ]
0/autotile/z_index_map = [ ]
0/occluder_offset = Vector2( 0, 0 )
0/navigation_offset = Vector2( 0, 0 )
0/shape_offset = Vector2( 0, 0 )
0/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
0/shape_one_way = false
0/shape_one_way_margin = 0.0
0/shapes = [ ]
0/z_index = 0
[sub_resource type="Animation" id=6]
resource_name = "Path"
length = 6.0
loop = true
tracks/0/type = "value"
tracks/0/path = NodePath("KinematicBody2D:position")
tracks/0/interp = 2
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0, 3 ),
"transitions": PoolRealArray( 1, 0.965936 ),
"update": 0,
"values": [ Vector2( 0, 0 ), Vector2( 48, 0 ) ]
}
[sub_resource type="Animation" id=7]
length = 0.001
tracks/0/type = "value"
tracks/0/path = NodePath("KinematicBody2D:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 0,
"values": [ Vector2( 0, 0 ) ]
}
[sub_resource type="Animation" id=8]
resource_name = "Path"
length = 6.0
loop = true
tracks/0/type = "value"
tracks/0/path = NodePath("KinematicBody2D:position")
tracks/0/interp = 2
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0, 3 ),
"transitions": PoolRealArray( 1, 0.965936 ),
"update": 0,
"values": [ Vector2( 0, 0 ), Vector2( -48, 0 ) ]
}
[sub_resource type="Animation" id=9]
length = 0.001
tracks/0/type = "value"
tracks/0/path = NodePath("KinematicBody2D:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 0,
"values": [ Vector2( 0, 0 ) ]
}
[sub_resource type="Animation" id=10]
resource_name = "Path"
length = 12.0
loop = true
tracks/0/type = "value"
tracks/0/path = NodePath("KinematicBody2D:position")
tracks/0/interp = 2
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0, 6 ),
"transitions": PoolRealArray( 1, 0.965936 ),
"update": 0,
"values": [ Vector2( 0, 0 ), Vector2( 0, 192 ) ]
}
[sub_resource type="Animation" id=11]
length = 0.001
tracks/0/type = "value"
tracks/0/path = NodePath("KinematicBody2D:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 0,
"values": [ Vector2( 0, 0 ) ]
}
[node name="LevelTemplate" type="Node2D"]
script = ExtResource( 4 )
__meta__ = {
"_edit_horizontal_guides_": [ 464.0 ],
"_edit_vertical_guides_": [ 2880.0 ]
}
[node name="SignalManager" parent="." instance=ExtResource( 5 )]
[node name="LevelState" parent="." instance=ExtResource( 6 )]
unique_name_in_owner = true
[node name="UserInterface" parent="." instance=ExtResource( 7 )]
unique_name_in_owner = true
[node name="Timer" parent="UserInterface/HUD/HUDOverlay/GetBackTimer" index="0"]
wait_time = 20.0
[node name="BlobbyCam" parent="." instance=ExtResource( 9 )]
unique_name_in_owner = true
drag_margin_bottom = 0.3
[node name="AnimatedSprite" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="4"]
frame = 2
[node name="AnimatedSprite2" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="5"]
frame = 1
[node name="Blobby" parent="." instance=ExtResource( 8 )]
unique_name_in_owner = true
position = Vector2( -70, -1.90735e-06 )
scale = Vector2( 0.878906, 0.936025 )
[node name="AnimationTree" parent="Blobby/BlobbySprite" index="0"]
parameters/playback = SubResource( 4 )
[node name="TileMap" type="TileMap" parent="."]
unique_name_in_owner = true
tile_set = ExtResource( 1 )
cell_size = Vector2( 16, 16 )
cell_quadrant_size = 3
cell_custom_transform = Transform2D( 24, 0, 0, 24, 0, 0 )
collision_layer = 8
collision_mask = 8
bake_navigation = true
format = 1
tile_data = PoolIntArray( -458758, 5, 10, -458757, 5, 10, -458756, 5, 10, -458755, 5, 10, -458754, 5, 10, -458753, 5, 10, -524288, 5, 10, -524287, 5, 10, -524286, 5, 10, -524285, 5, 10, -524284, 5, 10, -524283, 5, 10, -524282, 5, 65541, -524278, 5, 65540, -524277, 5, 10, -524276, 5, 10, -524275, 5, 10, -524274, 5, 10, -524273, 5, 10, -524272, 5, 10, -524271, 5, 10, -524270, 5, 10, -524269, 5, 10, -524268, 5, 10, -524267, 5, 10, -524266, 5, 10, -524265, 5, 10, -524264, 5, 10, -524263, 5, 10, -524262, 5, 10, -524261, 5, 10, -524260, 5, 10, -524259, 5, 10, -524258, 5, 10, -524257, 5, 10, -524256, 5, 10, -524255, 5, 10, -524254, 5, 10, -524253, 5, 10, -524252, 5, 10, -524251, 5, 10, -524250, 5, 10, -524249, 5, 10, -524248, 5, 10, -524247, 5, 10, -524246, 5, 10, -524245, 5, 10, -524244, 5, 10, -524243, 5, 10, -524242, 5, 10, -524241, 5, 10, -524240, 5, 10, -524239, 5, 10, -524238, 5, 10, -524237, 5, 10, -524236, 5, 10, -524235, 5, 10, -393223, 5, 8, -458746, 5, 9, -458745, 5, 10, -458744, 5, 10, -458743, 5, 10, -458742, 5, 65536, -458698, 5, 6, -327687, 5, 8, -393162, 5, 6, -262151, 5, 8, -327626, 5, 6, -196615, 5, 8, -262090, 5, 6, -131079, 5, 8, -196554, 5, 6, -65543, 5, 8, -131018, 5, 6, -7, 5, 8, -65524, 5, 2, -65523, 5, 2, -65522, 5, 2, -65521, 5, 2, -65514, 5, 2, -65513, 5, 2, -65512, 5, 2, -65482, 5, 6, 65530, 5, 3, 65531, 5, 3, 65532, 5, 3, 65533, 5, 3, 65534, 5, 3, 65535, 5, 3, 0, 5, 3, 1, 5, 3, 2, 5, 3, 3, 5, 3, 4, 5, 3, 12, 5, 10, 13, 5, 10, 14, 5, 10, 15, 5, 10, 22, 5, 10, 23, 5, 10, 24, 5, 10, 54, 5, 6, 131066, 5, 8, 65590, 5, 6, 196602, 5, 8, 131123, 5, 2, 131124, 5, 2, 131125, 5, 2, 262138, 5, 8, 196659, 5, 6, 196662, 5, 6, 327674, 5, 8, 262195, 5, 6, 262198, 5, 6, 393210, 5, 8, 327686, 5, 2, 327687, 5, 2, 327688, 5, 2, 327689, 5, 2, 327690, 5, 2, 327691, 5, 2, 327692, 5, 2, 327693, 5, 2, 327694, 5, 2, 327695, 5, 2, 327696, 5, 2, 327697, 5, 2, 327698, 5, 2, 327699, 5, 2, 327700, 5, 2, 327701, 5, 2, 327702, 5, 2, 327703, 5, 2, 327704, 5, 2, 327705, 5, 2, 327706, 5, 2, 327707, 5, 2, 327708, 5, 2, 327709, 5, 2, 327710, 5, 2, 327711, 5, 2, 327712, 5, 2, 327713, 5, 2, 327714, 5, 2, 327715, 5, 2, 327716, 5, 2, 327717, 5, 2, 327718, 5, 2, 327719, 5, 2, 327720, 5, 2, 327721, 5, 2, 327722, 5, 2, 327723, 5, 2, 327724, 5, 2, 327725, 5, 2, 327726, 5, 2, 327727, 5, 2, 327728, 5, 2, 327729, 5, 2, 327730, 5, 2, 327734, 5, 6, 458746, 5, 8, 393270, 5, 6, 524282, 5, 8, 458806, 5, 6, 589818, 5, 8, 524342, 5, 6, 655354, 5, 8, 589878, 5, 6, 720890, 5, 8, 655414, 5, 6, 786426, 5, 8, 720950, 5, 6, 851962, 5, 8, 786486, 5, 6, 917498, 5, 8, 852022, 5, 6, 983034, 5, 8, 917558, 5, 6, 1048570, 5, 8, 983052, 5, 2, 983053, 5, 2, 983054, 5, 2, 983061, 5, 2, 983062, 5, 2, 983063, 5, 2, 983064, 5, 2, 983071, 5, 2, 983072, 5, 2, 983073, 5, 2, 983074, 5, 2, 983075, 5, 2, 983094, 5, 6, 1114106, 5, 8, 1048588, 5, 10, 1048589, 5, 10, 1048590, 5, 10, 1048597, 5, 10, 1048598, 5, 10, 1048599, 5, 10, 1048600, 5, 10, 1048607, 5, 10, 1048608, 5, 10, 1048609, 5, 10, 1048610, 5, 10, 1048611, 5, 10, 1048630, 5, 6, 1179642, 5, 8, 1114166, 5, 6, 1245178, 5, 8, 1179702, 5, 6, 1310714, 5, 8, 1245238, 5, 6, 1376250, 5, 8, 1310768, 5, 2, 1310769, 5, 2, 1310770, 5, 2, 1310771, 5, 2, 1310772, 5, 2, 1310773, 5, 2, 1441786, 5, 8, 1376310, 5, 6, 1507322, 5, 8, 1441846, 5, 6, 1572858, 5, 8, 1507382, 5, 6, 1638395, 5, 3, 1638396, 5, 3, 1638397, 5, 3, 1638398, 5, 3, 1638399, 5, 3, 1572864, 5, 3, 1572865, 5, 3, 1572866, 5, 3, 1572867, 5, 3, 1572868, 5, 3, 1572869, 5, 3, 1572870, 5, 3, 1572871, 5, 3, 1572872, 5, 3, 1572873, 5, 3, 1572874, 5, 3, 1572875, 5, 3, 1572876, 5, 3, 1572877, 5, 3, 1572878, 5, 2, 1572879, 5, 2, 1572880, 5, 2, 1572881, 5, 2, 1572882, 5, 2, 1572883, 5, 2, 1572884, 5, 2, 1572885, 5, 2, 1572886, 5, 2, 1572887, 5, 2, 1572888, 5, 2, 1572889, 5, 2, 1572890, 5, 2, 1572891, 5, 2, 1572892, 5, 2, 1572893, 5, 2, 1572894, 5, 2, 1572895, 5, 2, 1572896, 5, 2, 1572897, 5, 2, 1572898, 5, 2, 1572899, 5, 2, 1572900, 5, 2, 1572901, 5, 2, 1572902, 5, 2, 1572903, 5, 2, 1572904, 5, 2, 1572905, 5, 2, 1572906, 5, 2, 1572907, 5, 2, 1572908, 5, 2, 1572909, 5, 2, 1572910, 5, 2, 1572911, 5, 2, 1572912, 5, 2, 1572913, 5, 2, 1572914, 5, 2, 1572915, 5, 2, 1572916, 5, 2, 1572917, 5, 2 )
[node name="DropThroughPlatforms" type="TileMap" parent="."]
tile_set = ExtResource( 2 )
cell_size = Vector2( 16, 16 )
format = 1
[node name="PlatformPlants" type="TileMap" parent="."]
tile_set = SubResource( 5 )
cell_size = Vector2( 16, 16 )
format = 1
[node name="ElevatorButton" parent="." instance=ExtResource( 11 )]
position = Vector2( 832, 320 )
elevator_time = 5
[node name="Portal" parent="ElevatorButton" instance=ExtResource( 10 )]
position = Vector2( 0, 24 )
scale = Vector2( 0.5, 0.5 )
next_scene = "res://src/Levels/5 Tutorial Level.tscn"
[node name="Obstacles" type="Node2D" parent="."]
position = Vector2( -412, -173 )
[node name="Spikes" parent="Obstacles" instance=ExtResource( 12 )]
position = Vector2( 524, 89 )
[node name="Spikes2" parent="Obstacles" instance=ExtResource( 12 )]
position = Vector2( 548, 89 )
[node name="Spikes3" parent="Obstacles" instance=ExtResource( 12 )]
position = Vector2( 572, 89 )
[node name="Spikes5" parent="Obstacles" instance=ExtResource( 12 )]
position = Vector2( 860, 401 )
[node name="Spikes6" parent="Obstacles" instance=ExtResource( 12 )]
position = Vector2( 860, 377 )
[node name="Spikes7" parent="Obstacles" instance=ExtResource( 12 )]
position = Vector2( 860, 425 )
[node name="Coins" type="Node2D" parent="."]
[node name="Coin" parent="Coins" instance=ExtResource( 13 )]
position = Vector2( 208, -31 )
[node name="Coin2" parent="Coins" instance=ExtResource( 13 )]
position = Vector2( 448, 167 )
[node name="Caterpillar" parent="." instance=ExtResource( 15 )]
position = Vector2( 377, -23 )
[node name="Caterpillar2" parent="." instance=ExtResource( 15 )]
position = Vector2( 368, 233 )
[node name="FlyingPlatform2" type="Node2D" parent="."]
position = Vector2( 520, -16 )
script = ExtResource( 16 )
[node name="anim" type="AnimationPlayer" parent="FlyingPlatform2"]
autoplay = "Path"
playback_process_mode = 0
anims/Path = SubResource( 6 )
anims/RESET = SubResource( 7 )
[node name="KinematicBody2D" type="KinematicBody2D" parent="FlyingPlatform2"]
collision_layer = 8
collision_mask = 0
[node name="Sprite" type="Sprite" parent="FlyingPlatform2/KinematicBody2D"]
position = Vector2( 0, 8 )
texture = ExtResource( 17 )
vframes = 8
frame = 1
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="FlyingPlatform2/KinematicBody2D"]
position = Vector2( 0, 4 )
scale = Vector2( 4, 0.4 )
polygon = PoolVector2Array( -10, -10, 10, -10, 9.5, 0, 9.25, 5, -9.25, 5, -9.5, 0 )
[node name="FlyingPlatform3" type="Node2D" parent="."]
position = Vector2( 728, -16 )
script = ExtResource( 16 )
[node name="anim" type="AnimationPlayer" parent="FlyingPlatform3"]
autoplay = "Path"
playback_process_mode = 0
anims/Path = SubResource( 8 )
anims/RESET = SubResource( 9 )
[node name="KinematicBody2D" type="KinematicBody2D" parent="FlyingPlatform3"]
collision_layer = 8
collision_mask = 0
[node name="Sprite" type="Sprite" parent="FlyingPlatform3/KinematicBody2D"]
position = Vector2( 0, 8 )
texture = ExtResource( 17 )
vframes = 8
frame = 1
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="FlyingPlatform3/KinematicBody2D"]
position = Vector2( 0, 4 )
scale = Vector2( 4, 0.4 )
polygon = PoolVector2Array( -10, -10, 10, -10, 9.5, 0, 9.25, 5, -9.25, 5, -9.5, 0 )
[node name="FlyingPlatform4" type="Node2D" parent="."]
position = Vector2( 7, 110 )
script = ExtResource( 16 )
[node name="anim" type="AnimationPlayer" parent="FlyingPlatform4"]
autoplay = "Path"
playback_process_mode = 0
anims/Path = SubResource( 10 )
anims/RESET = SubResource( 11 )
[node name="KinematicBody2D" type="KinematicBody2D" parent="FlyingPlatform4"]
collision_layer = 8
collision_mask = 0
[node name="Sprite" type="Sprite" parent="FlyingPlatform4/KinematicBody2D"]
position = Vector2( 0, 8 )
texture = ExtResource( 17 )
vframes = 8
frame = 1
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="FlyingPlatform4/KinematicBody2D"]
position = Vector2( 0, 4 )
scale = Vector2( 4, 0.4 )
polygon = PoolVector2Array( -10, -10, 10, -10, 9.5, 0, 9.25, 5, -9.25, 5, -9.5, 0 )
[node name="GateButton" parent="." instance=ExtResource( 18 )]
position = Vector2( 216, 223 )
[node name="GateBlock" parent="." instance=ExtResource( 14 )]
position = Vector2( 780, 372 )
[node name="GateBlock2" parent="." instance=ExtResource( 14 )]
position = Vector2( 780, 348 )
[node name="FlyingLaserCutter" parent="." instance=ExtResource( 19 )]
position = Vector2( 663, 256 )
rotation = 1.5708
[node name="FlyingLaserCutter2" parent="." instance=ExtResource( 19 )]
position = Vector2( 288, 256 )
rotation = -1.5708
[connection signal="body_exited" from="Blobby/BlobbySkin" to="Blobby" method="_on_BlobbySkin_body_exited"]
[editable path="SignalManager"]
[editable path="LevelState"]
[editable path="UserInterface"]
[editable path="UserInterface/HUD"]
[editable path="BlobbyCam"]
[editable path="Blobby"]

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=13 format=2] [gd_scene load_steps=14 format=2]
[ext_resource path="res://src/Environment/GreenHouseTiles.tres" type="TileSet" id=1] [ext_resource path="res://src/Environment/GreenHouseTiles.tres" type="TileSet" id=1]
[ext_resource path="res://src/Utilities/SignalManager.tscn" type="PackedScene" id=2] [ext_resource path="res://src/Utilities/SignalManager.tscn" type="PackedScene" id=2]
@ -10,6 +10,7 @@
[ext_resource path="res://src/UserInterface/UserInterface.tscn" type="PackedScene" id=8] [ext_resource path="res://src/UserInterface/UserInterface.tscn" type="PackedScene" id=8]
[ext_resource path="res://src/Levels/Templates/LevelTemplate.gd" type="Script" id=9] [ext_resource path="res://src/Levels/Templates/LevelTemplate.gd" type="Script" id=9]
[ext_resource path="res://assets/environment/decor/platform-plants.png" type="Texture" id=10] [ext_resource path="res://assets/environment/decor/platform-plants.png" type="Texture" id=10]
[ext_resource path="res://src/Contraptions/Triggers/ElevatorButton.tscn" type="PackedScene" id=11]
[sub_resource type="AnimationNodeStateMachinePlayback" id=4] [sub_resource type="AnimationNodeStateMachinePlayback" id=4]
@ -94,8 +95,13 @@ tile_set = SubResource( 5 )
cell_size = Vector2( 16, 16 ) cell_size = Vector2( 16, 16 )
format = 1 format = 1
[node name="Portal" parent="." instance=ExtResource( 5 )] [node name="ElevatorButton" parent="." instance=ExtResource( 11 )]
position = Vector2( 288, 96 ) position = Vector2( 216, 112 )
elevator_time = 10
[node name="Portal" parent="ElevatorButton" instance=ExtResource( 5 )]
position = Vector2( 36, -8 )
scale = Vector2( 0.5, 0.5 )
next_scene = "res://src/Levels/Actual Level 1.tscn" next_scene = "res://src/Levels/Actual Level 1.tscn"
[connection signal="body_exited" from="Blobby/BlobbySkin" to="Blobby" method="_on_BlobbySkin_body_exited"] [connection signal="body_exited" from="Blobby/BlobbySkin" to="Blobby" method="_on_BlobbySkin_body_exited"]