New gras texture and polygons, camera changes
The levels have to conform to some criteria to fit into the frame. They have to have the right size, the zoom and limits do not work for every size >:
2
.vscode/launch.json
vendored
@ -8,7 +8,7 @@
|
|||||||
"name": "GDScript Godot",
|
"name": "GDScript Godot",
|
||||||
"type": "godot",
|
"type": "godot",
|
||||||
"request": "launch",
|
"request": "launch",
|
||||||
"project": "C:\\Users\\Jakob\\Documents\\Godot\\Wumper",
|
"project": "C:\\Users\\Jakob\\Documents\\Godot\\Blobby",
|
||||||
"port": 6007,
|
"port": 6007,
|
||||||
"address": "127.0.0.1",
|
"address": "127.0.0.1",
|
||||||
"launch_game_instance": true,
|
"launch_game_instance": true,
|
||||||
|
|||||||
@ -1,26 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="aseprite.wizard.plugin"
|
|
||||||
type="SpriteFrames"
|
|
||||||
path="res://.import/Beispiel-Busch.aseprite-e4b7724fea18978e42f11f3729f9d1a8.res"
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://assets/environment/decor/Beispiel-Busch.aseprite"
|
|
||||||
dest_files=[ "res://.import/Beispiel-Busch.aseprite-e4b7724fea18978e42f11f3729f9d1a8.res" ]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
split_layers=false
|
|
||||||
exclude_layers_pattern=""
|
|
||||||
only_visible_layers=false
|
|
||||||
sheet_type="Packed"
|
|
||||||
sprite_filename_pattern="{basename}.{layer}.{extension}"
|
|
||||||
texture_strip/import_texture_strip=false
|
|
||||||
texture_strip/filename_pattern="{basename}.{layer}.Strip.{extension}"
|
|
||||||
texture_atlas/import_texture_atlas=false
|
|
||||||
texture_atlas/filename_pattern="{basename}.{layer}.Atlas.{extension}"
|
|
||||||
texture_atlas/frame_filename_pattern="{basename}.{layer}.{animation}.{frame}.Atlas.{extension}"
|
|
||||||
animated_texture/import_animated_texture=false
|
|
||||||
animated_texture/filename_pattern="{basename}.{layer}.{animation}.Texture.{extension}"
|
|
||||||
animated_texture/frame_filename_pattern="{basename}.{layer}.{animation}.{frame}.Texture.{extension}"
|
|
||||||
@ -1,26 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="aseprite.wizard.plugin"
|
|
||||||
type="SpriteFrames"
|
|
||||||
path="res://.import/bent_straw.aseprite-e42038488046e460e799823506d46bb8.res"
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://assets/environment/decor/bent_straw.aseprite"
|
|
||||||
dest_files=[ "res://.import/bent_straw.aseprite-e42038488046e460e799823506d46bb8.res" ]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
split_layers=false
|
|
||||||
exclude_layers_pattern=""
|
|
||||||
only_visible_layers=false
|
|
||||||
sheet_type="Packed"
|
|
||||||
sprite_filename_pattern="{basename}.{layer}.{extension}"
|
|
||||||
texture_strip/import_texture_strip=false
|
|
||||||
texture_strip/filename_pattern="{basename}.{layer}.Strip.{extension}"
|
|
||||||
texture_atlas/import_texture_atlas=false
|
|
||||||
texture_atlas/filename_pattern="{basename}.{layer}.Atlas.{extension}"
|
|
||||||
texture_atlas/frame_filename_pattern="{basename}.{layer}.{animation}.{frame}.Atlas.{extension}"
|
|
||||||
animated_texture/import_animated_texture=false
|
|
||||||
animated_texture/filename_pattern="{basename}.{layer}.{animation}.Texture.{extension}"
|
|
||||||
animated_texture/frame_filename_pattern="{basename}.{layer}.{animation}.{frame}.Texture.{extension}"
|
|
||||||
|
Before Width: | Height: | Size: 152 B After Width: | Height: | Size: 144 B |
@ -1,26 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="aseprite.wizard.plugin"
|
|
||||||
type="SpriteFrames"
|
|
||||||
path="res://.import/bent_straw_2.aseprite-533c943446b43f78ec49a9f7e64d2cbb.res"
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://assets/environment/decor/bent_straw_2.aseprite"
|
|
||||||
dest_files=[ "res://.import/bent_straw_2.aseprite-533c943446b43f78ec49a9f7e64d2cbb.res" ]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
split_layers=false
|
|
||||||
exclude_layers_pattern=""
|
|
||||||
only_visible_layers=false
|
|
||||||
sheet_type="Packed"
|
|
||||||
sprite_filename_pattern="{basename}.{layer}.{extension}"
|
|
||||||
texture_strip/import_texture_strip=false
|
|
||||||
texture_strip/filename_pattern="{basename}.{layer}.Strip.{extension}"
|
|
||||||
texture_atlas/import_texture_atlas=false
|
|
||||||
texture_atlas/filename_pattern="{basename}.{layer}.Atlas.{extension}"
|
|
||||||
texture_atlas/frame_filename_pattern="{basename}.{layer}.{animation}.{frame}.Atlas.{extension}"
|
|
||||||
animated_texture/import_animated_texture=false
|
|
||||||
animated_texture/filename_pattern="{basename}.{layer}.{animation}.Texture.{extension}"
|
|
||||||
animated_texture/frame_filename_pattern="{basename}.{layer}.{animation}.{frame}.Texture.{extension}"
|
|
||||||
BIN
assets/environment/decor/bent_straw_2.png
Normal file
|
After Width: | Height: | Size: 157 B |
35
assets/environment/decor/bent_straw_2.png.import
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="StreamTexture"
|
||||||
|
path="res://.import/bent_straw_2.png-06cf9f311cb17db2aaae1e44b39a93f4.stex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/environment/decor/bent_straw_2.png"
|
||||||
|
dest_files=[ "res://.import/bent_straw_2.png-06cf9f311cb17db2aaae1e44b39a93f4.stex" ]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_mode=0
|
||||||
|
compress/bptc_ldr=0
|
||||||
|
compress/normal_map=0
|
||||||
|
flags/repeat=0
|
||||||
|
flags/filter=false
|
||||||
|
flags/mipmaps=false
|
||||||
|
flags/anisotropic=false
|
||||||
|
flags/srgb=2
|
||||||
|
process/fix_alpha_border=false
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/HDR_as_SRGB=false
|
||||||
|
process/invert_color=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
stream=false
|
||||||
|
size_limit=0
|
||||||
|
detect_3d=false
|
||||||
|
svg/scale=1.0
|
||||||
BIN
assets/environment/decor/bent_straw_left_2.png
Normal file
|
After Width: | Height: | Size: 175 B |
35
assets/environment/decor/bent_straw_left_2.png.import
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="StreamTexture"
|
||||||
|
path="res://.import/bent_straw_left_2.png-fdd66b1aa4d5827c3bd59fde835cf245.stex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/environment/decor/bent_straw_left_2.png"
|
||||||
|
dest_files=[ "res://.import/bent_straw_left_2.png-fdd66b1aa4d5827c3bd59fde835cf245.stex" ]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_mode=0
|
||||||
|
compress/bptc_ldr=0
|
||||||
|
compress/normal_map=0
|
||||||
|
flags/repeat=0
|
||||||
|
flags/filter=false
|
||||||
|
flags/mipmaps=false
|
||||||
|
flags/anisotropic=false
|
||||||
|
flags/srgb=2
|
||||||
|
process/fix_alpha_border=false
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/HDR_as_SRGB=false
|
||||||
|
process/invert_color=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
stream=false
|
||||||
|
size_limit=0
|
||||||
|
detect_3d=false
|
||||||
|
svg/scale=1.0
|
||||||
BIN
assets/environment/decor/bent_straw_leftt.png
Normal file
|
After Width: | Height: | Size: 162 B |
35
assets/environment/decor/bent_straw_leftt.png.import
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="StreamTexture"
|
||||||
|
path="res://.import/bent_straw_leftt.png-cd64eb7293fffda2fa93cf3eca0198bb.stex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/environment/decor/bent_straw_leftt.png"
|
||||||
|
dest_files=[ "res://.import/bent_straw_leftt.png-cd64eb7293fffda2fa93cf3eca0198bb.stex" ]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_mode=0
|
||||||
|
compress/bptc_ldr=0
|
||||||
|
compress/normal_map=0
|
||||||
|
flags/repeat=0
|
||||||
|
flags/filter=false
|
||||||
|
flags/mipmaps=false
|
||||||
|
flags/anisotropic=false
|
||||||
|
flags/srgb=2
|
||||||
|
process/fix_alpha_border=false
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/HDR_as_SRGB=false
|
||||||
|
process/invert_color=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
stream=false
|
||||||
|
size_limit=0
|
||||||
|
detect_3d=false
|
||||||
|
svg/scale=1.0
|
||||||
@ -1,26 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="aseprite.wizard.plugin"
|
|
||||||
type="SpriteFrames"
|
|
||||||
path="res://.import/short_straw.aseprite-dc5d8347b9d6d5e161cbd2f672a5b8c7.res"
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://assets/environment/decor/short_straw.aseprite"
|
|
||||||
dest_files=[ "res://.import/short_straw.aseprite-dc5d8347b9d6d5e161cbd2f672a5b8c7.res" ]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
split_layers=false
|
|
||||||
exclude_layers_pattern=""
|
|
||||||
only_visible_layers=false
|
|
||||||
sheet_type="Packed"
|
|
||||||
sprite_filename_pattern="{basename}.{layer}.{extension}"
|
|
||||||
texture_strip/import_texture_strip=false
|
|
||||||
texture_strip/filename_pattern="{basename}.{layer}.Strip.{extension}"
|
|
||||||
texture_atlas/import_texture_atlas=false
|
|
||||||
texture_atlas/filename_pattern="{basename}.{layer}.Atlas.{extension}"
|
|
||||||
texture_atlas/frame_filename_pattern="{basename}.{layer}.{animation}.{frame}.Atlas.{extension}"
|
|
||||||
animated_texture/import_animated_texture=false
|
|
||||||
animated_texture/filename_pattern="{basename}.{layer}.{animation}.Texture.{extension}"
|
|
||||||
animated_texture/frame_filename_pattern="{basename}.{layer}.{animation}.{frame}.Texture.{extension}"
|
|
||||||
|
Before Width: | Height: | Size: 113 B After Width: | Height: | Size: 121 B |
@ -1,26 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="aseprite.wizard.plugin"
|
|
||||||
type="SpriteFrames"
|
|
||||||
path="res://.import/straight_straw.aseprite-95acb695229b4f32fa48786e91411e1d.res"
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://assets/environment/decor/straight_straw.aseprite"
|
|
||||||
dest_files=[ "res://.import/straight_straw.aseprite-95acb695229b4f32fa48786e91411e1d.res" ]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
split_layers=false
|
|
||||||
exclude_layers_pattern=""
|
|
||||||
only_visible_layers=false
|
|
||||||
sheet_type="Packed"
|
|
||||||
sprite_filename_pattern="{basename}.{layer}.{extension}"
|
|
||||||
texture_strip/import_texture_strip=false
|
|
||||||
texture_strip/filename_pattern="{basename}.{layer}.Strip.{extension}"
|
|
||||||
texture_atlas/import_texture_atlas=false
|
|
||||||
texture_atlas/filename_pattern="{basename}.{layer}.Atlas.{extension}"
|
|
||||||
texture_atlas/frame_filename_pattern="{basename}.{layer}.{animation}.{frame}.Atlas.{extension}"
|
|
||||||
animated_texture/import_animated_texture=false
|
|
||||||
animated_texture/filename_pattern="{basename}.{layer}.{animation}.Texture.{extension}"
|
|
||||||
animated_texture/frame_filename_pattern="{basename}.{layer}.{animation}.{frame}.Texture.{extension}"
|
|
||||||
|
Before Width: | Height: | Size: 113 B After Width: | Height: | Size: 122 B |
@ -385,12 +385,11 @@ func execute_movement() -> void:
|
|||||||
rotation = calculate_slope_rotation(onfloor)
|
rotation = calculate_slope_rotation(onfloor)
|
||||||
# rotate related to floor slope
|
# rotate related to floor slope
|
||||||
# Convert velocity back to local space.
|
# Convert velocity back to local space.
|
||||||
velocity = velocity.rotated(-floor_rot*1.1) if snap_possible else velocity
|
# TODO: Downward velocity should be increased by gravity
|
||||||
|
velocity = velocity.rotated(-floor_rot) if snap_possible else velocity
|
||||||
|
|
||||||
func calculate_slope_rotation(onfloor: bool) -> float:
|
func calculate_slope_rotation(onfloor: bool) -> float:
|
||||||
var angle = 0
|
var angle = 0
|
||||||
# var distance_to_slope_left = abs($SlopeRaycastLeft.global_position.distance_to($SlopeRaycastLeft.get_collision_point()))
|
|
||||||
# var distance_to_slope_right = abs($SlopeRaycastRight.global_position.distance_to($SlopeRaycastRight.get_collision_point()))
|
|
||||||
var slope_angle_left = $SlopeRaycastLeft.get_collision_normal().rotated(PI/2).angle()
|
var slope_angle_left = $SlopeRaycastLeft.get_collision_normal().rotated(PI/2).angle()
|
||||||
var slope_angle_right = $SlopeRaycastRight.get_collision_normal().rotated(PI/2).angle()
|
var slope_angle_right = $SlopeRaycastRight.get_collision_normal().rotated(PI/2).angle()
|
||||||
# avoid invalid angles and stay in rotation when touching ground completely
|
# avoid invalid angles and stay in rotation when touching ground completely
|
||||||
@ -399,9 +398,8 @@ func calculate_slope_rotation(onfloor: bool) -> float:
|
|||||||
|| (abs(slope_angle_left) - abs(slope_angle_right) == 0 && onfloor)):
|
|| (abs(slope_angle_left) - abs(slope_angle_right) == 0 && onfloor)):
|
||||||
return previous_rotation if abs(previous_rotation) > 0.1 else 0.0
|
return previous_rotation if abs(previous_rotation) > 0.1 else 0.0
|
||||||
# downturn
|
# downturn
|
||||||
# print(abs(slope_angle_left) > abs(slope_angle_right) && distance_to_slope_right > distance_to_slope_left)
|
if(abs(slope_angle_left) > abs(slope_angle_right) && velocity.x < -10||
|
||||||
if(abs(slope_angle_left) > abs(slope_angle_right) ||
|
abs(slope_angle_right) > abs(slope_angle_left) && velocity.x > 10):
|
||||||
abs(slope_angle_right) > abs(slope_angle_left)):
|
|
||||||
var length_vector: Vector2 = $SlopeRaycastRight.get_collision_point() - $SlopeRaycastLeft.get_collision_point()
|
var length_vector: Vector2 = $SlopeRaycastRight.get_collision_point() - $SlopeRaycastLeft.get_collision_point()
|
||||||
angle = length_vector.angle()
|
angle = length_vector.angle()
|
||||||
# upturn
|
# upturn
|
||||||
|
|||||||
@ -17,7 +17,7 @@ func _ready():
|
|||||||
_set_boundaries()
|
_set_boundaries()
|
||||||
self.position = blobby.global_position
|
self.position = blobby.global_position
|
||||||
prev_camera_pos = get_camera_screen_center()
|
prev_camera_pos = get_camera_screen_center()
|
||||||
offset.x = -camera_horizontal_shift
|
offset.x = -camera_horizontal_shift if zoom.x == original_x_zoom else 0
|
||||||
|
|
||||||
func _physics_process(_delta: float) -> void:
|
func _physics_process(_delta: float) -> void:
|
||||||
if(!GlobalState.is_dead):
|
if(!GlobalState.is_dead):
|
||||||
@ -32,19 +32,19 @@ func _set_boundaries():
|
|||||||
# This is ok, because it only happens on initialization
|
# This is ok, because it only happens on initialization
|
||||||
# But it is also quite fickle
|
# But it is also quite fickle
|
||||||
var tilemap = get_node("../TileMap")
|
var tilemap = get_node("../TileMap")
|
||||||
# TODO This goes wrong when overwriting old tiles with new sprites
|
# TODO: This goes wrong when overwriting old tiles with new sprites
|
||||||
# New pngs -> completely new tiles and rebuild map
|
# New pngs -> completely new tiles and rebuild map
|
||||||
var rect = tilemap.get_used_rect()
|
var rect = tilemap.get_used_rect()
|
||||||
var cell_size = tilemap.cell_size
|
var cell_size = tilemap.cell_size
|
||||||
limit_right = rect.end.x * cell_size.x - camera_horizontal_shift
|
limit_right = rect.end.x * cell_size.x - camera_horizontal_shift
|
||||||
limit_left = rect.position.x * cell_size.x + camera_horizontal_shift
|
limit_left = rect.position.x * cell_size.x + camera_horizontal_shift
|
||||||
# TODO When vertical scrolling is fixed
|
# TODO: When vertical scrolling is fixed
|
||||||
limit_top = rect.position.y * cell_size.y #+ camera_vertical_shift
|
limit_top = rect.position.y * cell_size.y #+ camera_vertical_shift
|
||||||
limit_bottom = rect.end.y * cell_size.y #- camera_vertical_shift
|
limit_bottom = rect.end.y * cell_size.y #- camera_vertical_shift
|
||||||
var screen_size = get_viewport_rect()
|
var screen_size = get_viewport_rect()
|
||||||
var h_pixels = limit_right - limit_left
|
var h_pixels = limit_right - limit_left
|
||||||
var v_pixels = limit_bottom - limit_top
|
var v_pixels = limit_bottom - limit_top
|
||||||
#TODO Fix that it can zoom both?
|
# TODO: Fix that it can zoom both?
|
||||||
if screen_size.end.x * original_x_zoom - h_pixels > 0:
|
if screen_size.end.x * original_x_zoom - h_pixels > 0:
|
||||||
zoom.x = h_pixels / screen_size.end.x
|
zoom.x = h_pixels / screen_size.end.x
|
||||||
zoom.y = zoom.x
|
zoom.y = zoom.x
|
||||||
@ -71,7 +71,7 @@ func _adapt_to_movement():
|
|||||||
# print(target_offset)
|
# print(target_offset)
|
||||||
# tween_v = true
|
# tween_v = true
|
||||||
|
|
||||||
if (tween_h || tween_v):
|
if ((tween_h || tween_v ) && zoom == Vector2(original_x_zoom, original_y_zoom)):
|
||||||
#TODO Motion may be too complex
|
#TODO Motion may be too complex
|
||||||
tween.interpolate_property(
|
tween.interpolate_property(
|
||||||
self,
|
self,
|
||||||
|
|||||||
@ -96,13 +96,25 @@ tracks/7/path = NodePath(".:position")
|
|||||||
tracks/7/interp = 1
|
tracks/7/interp = 1
|
||||||
tracks/7/loop_wrap = true
|
tracks/7/loop_wrap = true
|
||||||
tracks/7/imported = false
|
tracks/7/imported = false
|
||||||
tracks/7/enabled = false
|
tracks/7/enabled = true
|
||||||
tracks/7/keys = {
|
tracks/7/keys = {
|
||||||
"times": PoolRealArray( 0 ),
|
"times": PoolRealArray( 0 ),
|
||||||
"transitions": PoolRealArray( 1 ),
|
"transitions": PoolRealArray( 1 ),
|
||||||
"update": 0,
|
"update": 0,
|
||||||
"values": [ Vector2( 0, 0 ) ]
|
"values": [ Vector2( 0, 0 ) ]
|
||||||
}
|
}
|
||||||
|
tracks/8/type = "value"
|
||||||
|
tracks/8/path = NodePath(".:offset")
|
||||||
|
tracks/8/interp = 1
|
||||||
|
tracks/8/loop_wrap = true
|
||||||
|
tracks/8/imported = false
|
||||||
|
tracks/8/enabled = true
|
||||||
|
tracks/8/keys = {
|
||||||
|
"times": PoolRealArray( 0 ),
|
||||||
|
"transitions": PoolRealArray( 1 ),
|
||||||
|
"update": 0,
|
||||||
|
"values": [ Vector2( 0, 0 ) ]
|
||||||
|
}
|
||||||
|
|
||||||
[sub_resource type="Animation" id=6]
|
[sub_resource type="Animation" id=6]
|
||||||
resource_name = "deathCam"
|
resource_name = "deathCam"
|
||||||
@ -237,10 +249,10 @@ zoom = Vector2( 0.75, 0.75 )
|
|||||||
process_mode = 0
|
process_mode = 0
|
||||||
drag_margin_h_enabled = true
|
drag_margin_h_enabled = true
|
||||||
drag_margin_v_enabled = true
|
drag_margin_v_enabled = true
|
||||||
drag_margin_left = 0.05
|
drag_margin_left = 0.01
|
||||||
drag_margin_top = 0.05
|
drag_margin_top = 0.01
|
||||||
drag_margin_right = 0.05
|
drag_margin_right = 0.01
|
||||||
drag_margin_bottom = 0.05
|
drag_margin_bottom = 0.01
|
||||||
editor_draw_screen = false
|
editor_draw_screen = false
|
||||||
script = ExtResource( 1 )
|
script = ExtResource( 1 )
|
||||||
|
|
||||||
@ -254,18 +266,21 @@ anims/deathCam = SubResource( 6 )
|
|||||||
scroll_base_offset = Vector2( 320, 180 )
|
scroll_base_offset = Vector2( 320, 180 )
|
||||||
|
|
||||||
[node name="ParallaxLayer" type="ParallaxLayer" parent="ParallaxBackground"]
|
[node name="ParallaxLayer" type="ParallaxLayer" parent="ParallaxBackground"]
|
||||||
|
z_index = -1
|
||||||
motion_scale = Vector2( 0, 0 )
|
motion_scale = Vector2( 0, 0 )
|
||||||
|
|
||||||
[node name="Sprite" type="Sprite" parent="ParallaxBackground/ParallaxLayer"]
|
[node name="Sprite" type="Sprite" parent="ParallaxBackground/ParallaxLayer"]
|
||||||
texture = ExtResource( 4 )
|
texture = ExtResource( 4 )
|
||||||
|
|
||||||
[node name="ParallaxLayer2" type="ParallaxLayer" parent="ParallaxBackground"]
|
[node name="ParallaxLayer2" type="ParallaxLayer" parent="ParallaxBackground"]
|
||||||
|
z_index = -1
|
||||||
motion_scale = Vector2( 0, 0 )
|
motion_scale = Vector2( 0, 0 )
|
||||||
|
|
||||||
[node name="Sprite" type="Sprite" parent="ParallaxBackground/ParallaxLayer2"]
|
[node name="Sprite" type="Sprite" parent="ParallaxBackground/ParallaxLayer2"]
|
||||||
texture = ExtResource( 3 )
|
texture = ExtResource( 3 )
|
||||||
|
|
||||||
[node name="ParallaxLayer3" type="ParallaxLayer" parent="ParallaxBackground"]
|
[node name="ParallaxLayer3" type="ParallaxLayer" parent="ParallaxBackground"]
|
||||||
|
z_index = -1
|
||||||
motion_scale = Vector2( 0.001, 0.001 )
|
motion_scale = Vector2( 0.001, 0.001 )
|
||||||
|
|
||||||
[node name="Sprite" type="Sprite" parent="ParallaxBackground/ParallaxLayer3"]
|
[node name="Sprite" type="Sprite" parent="ParallaxBackground/ParallaxLayer3"]
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
extends Node2D
|
extends Node2D
|
||||||
|
|
||||||
onready var blobby = get_node("../Blobby")
|
onready var blobby = get_node("%Blobby")
|
||||||
|
|
||||||
var last_distance: Vector2 = Vector2(100,100)
|
var last_distance: Vector2 = Vector2(100,100)
|
||||||
|
|
||||||
|
|||||||
@ -1,67 +1,71 @@
|
|||||||
[gd_scene load_steps=8 format=2]
|
[gd_scene load_steps=9 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://assets/environment/decor/straight_straw.png" type="Texture" id=1]
|
||||||
[ext_resource path="res://src/Environment/ShaderGrass.gd" type="Script" id=2]
|
[ext_resource path="res://src/Environment/ShaderGrass.gd" type="Script" id=2]
|
||||||
[ext_resource path="res://src/Environment/ShaderGrass.tres" type="Material" id=3]
|
[ext_resource path="res://src/Environment/ShaderGrass.tres" type="Material" id=3]
|
||||||
|
[ext_resource path="res://assets/environment/decor/short_straw.png" type="Texture" id=4]
|
||||||
[sub_resource type="StreamTexture" id=3]
|
[ext_resource path="res://assets/environment/decor/bent_straw.png" type="Texture" id=5]
|
||||||
load_path = "res://.import/short_straw.png-74a4a080ce5e7e7272200d0d4a93bc94.stex"
|
[ext_resource path="res://assets/environment/decor/bent_straw_2.png" type="Texture" id=6]
|
||||||
|
[ext_resource path="res://assets/environment/decor/bent_straw_leftt.png" type="Texture" id=7]
|
||||||
[sub_resource type="StreamTexture" id=17]
|
[ext_resource path="res://assets/environment/decor/bent_straw_left_2.png" type="Texture" id=8]
|
||||||
load_path = "res://.import/short_straw.png-74a4a080ce5e7e7272200d0d4a93bc94.stex"
|
|
||||||
|
|
||||||
[sub_resource type="StreamTexture" id=18]
|
|
||||||
load_path = "res://.import/bent_straw.png-34af1874e71c7c7b0749bdc0374dc29d.stex"
|
|
||||||
|
|
||||||
[sub_resource type="StreamTexture" id=9]
|
|
||||||
load_path = "res://.import/bent_straw.png-34af1874e71c7c7b0749bdc0374dc29d.stex"
|
|
||||||
|
|
||||||
[sub_resource type="StreamTexture" id=2]
|
|
||||||
load_path = "res://.import/straight_straw.png-de19826f989d2481c31d92ac559e94ef.stex"
|
|
||||||
|
|
||||||
[node name="ShaderGrass" type="Node2D"]
|
[node name="ShaderGrass" type="Node2D"]
|
||||||
script = ExtResource( 2 )
|
script = ExtResource( 2 )
|
||||||
|
|
||||||
[node name="ShortStrawPolygon2" type="Polygon2D" parent="."]
|
[node name="StraightStraw" type="Polygon2D" parent="."]
|
||||||
material = ExtResource( 3 )
|
material = ExtResource( 3 )
|
||||||
position = Vector2( -2.30669, 0 )
|
position = Vector2( -2, 0 )
|
||||||
texture = SubResource( 3 )
|
texture = ExtResource( 1 )
|
||||||
polygon = PoolVector2Array( 4.8599, 12.1162, 4.84375, 7.21094, 4.91575, 2.9375, 5.84277, 2.85904, 5.84375, 1.88281, 6.96094, 1.90625, 6.999, 2.89845, 7.97825, 2.9375, 7.98438, 7.09375, 7.98528, 12.1279 )
|
polygon = PoolVector2Array( 4.9375, 4.5625, 5, 1.6875, 8.125, 1.6875, 8.0625, 4.875, 8.0625, 8.4375, 8.125, 12.125, 4.8125, 12.0625, 4.8125, 8.5 )
|
||||||
uv = PoolVector2Array( 4.47825, 12.125, 4.35325, 7.25, 4.41575, 2.6875, 5.66575, 2.5625, 5.66575, 1.3125, 7.16575, 1.3125, 7.22825, 2.5625, 8.54075, 2.625, 8.54075, 7.1875, 8.47825, 12.3125 )
|
uv = PoolVector2Array( 4.9375, 4.5625, 5, 1.6875, 8.125, 1.6875, 8.0625, 4.875, 8.0625, 8.4375, 8.125, 12.125, 4.8125, 12.0625, 4.8125, 8.5 )
|
||||||
polygons = [ PoolIntArray( 0, 9, 1 ), PoolIntArray( 8, 1, 9 ), PoolIntArray( 8, 2, 1 ), PoolIntArray( 8, 2, 3, 4, 5, 6, 7 ) ]
|
polygons = [ PoolIntArray( 1, 3, 0 ), PoolIntArray( 2, 3, 1 ), PoolIntArray( 0, 4, 3 ), PoolIntArray( 0, 7, 4 ), PoolIntArray( 6, 7, 5 ), PoolIntArray( 4, 5, 7 ) ]
|
||||||
|
|
||||||
[node name="ShortStrawPolygon3" type="Polygon2D" parent="."]
|
[node name="ShortStraw" type="Polygon2D" parent="."]
|
||||||
material = ExtResource( 3 )
|
material = ExtResource( 3 )
|
||||||
position = Vector2( 1.24897, 0.113895 )
|
position = Vector2( -4, -1 )
|
||||||
texture = SubResource( 17 )
|
texture = ExtResource( 4 )
|
||||||
polygon = PoolVector2Array( 4.8599, 12.1162, 4.84375, 7.21094, 4.91575, 2.9375, 5.84277, 2.85904, 5.84375, 1.88281, 6.96094, 1.90625, 6.999, 2.89845, 7.97825, 2.9375, 7.98438, 7.09375, 7.98528, 12.1279 )
|
polygon = PoolVector2Array( 5, 12.0625, 4.9375, 10.0625, 4.875, 8, 5.0625, 5.9375, 8.1875, 6, 8.0625, 8.0625, 8.0625, 10.1875, 8.0625, 12.125 )
|
||||||
uv = PoolVector2Array( 4.47825, 12.125, 4.35325, 7.25, 4.41575, 2.6875, 5.66575, 2.5625, 5.66575, 1.3125, 7.16575, 1.3125, 7.22825, 2.5625, 8.54075, 2.625, 8.54075, 7.1875, 8.47825, 12.3125 )
|
uv = PoolVector2Array( 5, 12.0625, 4.9375, 10.0625, 4.875, 8, 5.0625, 5.9375, 8.1875, 6, 8.0625, 8.0625, 8.0625, 10.1875, 8.0625, 12.125 )
|
||||||
polygons = [ PoolIntArray( 0, 9, 1 ), PoolIntArray( 8, 1, 9 ), PoolIntArray( 8, 2, 1 ), PoolIntArray( 8, 2, 3, 4, 5, 6, 7 ) ]
|
polygons = [ PoolIntArray( 3, 5, 4 ), PoolIntArray( 2, 3, 5 ), PoolIntArray( 1, 2, 6 ), PoolIntArray( 5, 6, 2 ), PoolIntArray( 6, 0, 7 ), PoolIntArray( 6, 1, 0 ) ]
|
||||||
|
|
||||||
[node name="BentStrawPolygon" type="Polygon2D" parent="."]
|
[node name="ShortStraw2" type="Polygon2D" parent="."]
|
||||||
material = ExtResource( 3 )
|
material = ExtResource( 3 )
|
||||||
position = Vector2( 6.58748, 0.206984 )
|
position = Vector2( 1, -2 )
|
||||||
texture = SubResource( 18 )
|
texture = ExtResource( 4 )
|
||||||
polygon = PoolVector2Array( 1.00644, 12.0961, 1.03124, 8.84688, 2.2466, 7.82995, 4.05723, 5.74649, 5.89266, 5.69688, 7.8273, 5.79609, 8.47219, 6.21775, 8.4375, 7.4375, 5.49581, 9.39255, 4.03242, 12.0465 )
|
polygon = PoolVector2Array( 5, 12.0625, 4.9375, 10.0625, 4.875, 8, 5.0625, 5.9375, 8.1875, 6, 8.0625, 8.0625, 8.0625, 10.1875, 8.0625, 12.125 )
|
||||||
uv = PoolVector2Array( 0.562501, 11.875, 0.875001, 8.5625, 2.25, 6.375, 4.5, 3.9375, 6.125, 3.1875, 8.25, 3.5, 9.0625, 4.4375, 9.1875, 6.3125, 6.125, 9.25, 4.5625, 11.875 )
|
uv = PoolVector2Array( 5, 12.0625, 4.9375, 10.0625, 4.875, 8, 5.0625, 5.9375, 8.1875, 6, 8.0625, 8.0625, 8.0625, 10.1875, 8.0625, 12.125 )
|
||||||
polygons = [ PoolIntArray( 0, 9, 1 ), PoolIntArray( 8, 1, 9 ), PoolIntArray( 8, 2, 1 ), PoolIntArray( 8, 2, 3, 4, 5, 6, 7 ) ]
|
polygons = [ PoolIntArray( 3, 5, 4 ), PoolIntArray( 2, 3, 5 ), PoolIntArray( 1, 2, 6 ), PoolIntArray( 5, 6, 2 ), PoolIntArray( 6, 0, 7 ), PoolIntArray( 6, 1, 0 ) ]
|
||||||
|
|
||||||
[node name="BentStrawInversePolygon" type="Polygon2D" parent="."]
|
[node name="BentStrawRight" type="Polygon2D" parent="."]
|
||||||
visible = false
|
|
||||||
material = ExtResource( 3 )
|
material = ExtResource( 3 )
|
||||||
position = Vector2( 5.15028, 0.0923641 )
|
position = Vector2( 5, 0 )
|
||||||
scale = Vector2( -0.807856, 1 )
|
texture = ExtResource( 5 )
|
||||||
texture = SubResource( 9 )
|
polygon = PoolVector2Array( 1, 12, 0.9375, 9.0625, 2.75, 7.0625, 5, 5.75, 9.1875, 5.75, 9.125, 9.1875, 6, 10, 5.0625, 12.0625 )
|
||||||
polygon = PoolVector2Array( 1.00644, 12.0961, 1.03124, 8.84688, 2.2466, 7.82995, 4.05723, 5.74649, 5.89266, 5.69688, 7.8273, 5.79609, 8.47219, 6.21775, 8.4375, 7.4375, 5.49581, 9.39255, 4.03242, 12.0465 )
|
uv = PoolVector2Array( 1, 12, 0.9375, 9.0625, 2.75, 7.0625, 5, 5.75, 9.1875, 5.75, 9.125, 9.1875, 6, 10, 5.0625, 12.0625 )
|
||||||
uv = PoolVector2Array( 0.562501, 11.875, 0.875001, 8.5625, 2.25, 6.375, 4.5, 3.9375, 6.125, 3.1875, 8.25, 3.5, 9.0625, 4.4375, 9.1875, 6.3125, 6.125, 9.25, 4.5625, 11.875 )
|
polygons = [ PoolIntArray( 1, 7, 0 ), PoolIntArray( 2, 7, 1 ), PoolIntArray( 6, 7, 2 ), PoolIntArray( 6, 3, 2 ), PoolIntArray( 3, 5, 6 ), PoolIntArray( 3, 4, 5 ) ]
|
||||||
polygons = [ PoolIntArray( 0, 9, 1 ), PoolIntArray( 8, 1, 9 ), PoolIntArray( 8, 2, 1 ), PoolIntArray( 8, 2, 3, 4, 5, 6, 7 ) ]
|
|
||||||
|
|
||||||
[node name="StraigtStrawPolygon" type="Polygon2D" parent="."]
|
[node name="BentStraw2Right" type="Polygon2D" parent="."]
|
||||||
material = ExtResource( 3 )
|
material = ExtResource( 3 )
|
||||||
position = Vector2( -0.57621, 0.03125 )
|
position = Vector2( 4, 0 )
|
||||||
texture = SubResource( 2 )
|
texture = ExtResource( 6 )
|
||||||
polygon = PoolVector2Array( 4.8599, 12.1162, 4.84375, 7.21094, 4.91575, 2.9375, 5.84277, 2.85904, 5.84375, 1.88281, 6.96094, 1.90625, 6.999, 2.89845, 7.97825, 2.9375, 7.98438, 7.09375, 7.98528, 12.1279 )
|
polygon = PoolVector2Array( 0.875, 12, 0.875, 7.9375, 2.13287, 6.45765, 3, 5.4375, 4.625, 3.6875, 6.9375, 1.6875, 9.375, 4.25, 7, 6.25, 5.5625, 7.5, 4.75, 8.25, 4.6875, 11.875 )
|
||||||
uv = PoolVector2Array( 4.47825, 12.125, 4.35325, 7.25, 4.41575, 2.6875, 5.66575, 2.5625, 5.66575, 1.3125, 7.16575, 1.3125, 7.22825, 2.5625, 8.54075, 2.625, 8.54075, 7.1875, 8.47825, 12.3125 )
|
uv = PoolVector2Array( 0.875, 12, 0.875, 7.9375, 3, 5.4375, 4.625, 3.6875, 6.9375, 1.6875, 9.375, 4.25, 7, 6.25, 5.5625, 7.5, 4.75, 8.25, 4.6875, 11.8125 )
|
||||||
polygons = [ PoolIntArray( 0, 9, 1 ), PoolIntArray( 8, 1, 9 ), PoolIntArray( 8, 2, 1 ), PoolIntArray( 8, 2, 3, 4, 5, 6, 7 ) ]
|
|
||||||
|
[node name="BentStrawLeft" type="Polygon2D" parent="."]
|
||||||
|
material = ExtResource( 3 )
|
||||||
|
position = Vector2( -6, 0 )
|
||||||
|
texture = ExtResource( 7 )
|
||||||
|
polygon = PoolVector2Array( 5.0625, 11.9375, 3.9375, 10, 1, 8.9375, 0.875, 5.8125, 5.1875, 5.6875, 6.8125, 7.25, 8.9375, 8.6875, 8.875, 11.9375 )
|
||||||
|
uv = PoolVector2Array( 5.0625, 11.9375, 3.9375, 10, 1, 8.9375, 0.875, 5.8125, 5.1875, 5.6875, 6.8125, 7.25, 8.9375, 8.6875, 8.875, 11.9375 )
|
||||||
|
polygons = [ PoolIntArray( 0, 6, 7 ), PoolIntArray( 1, 6, 0 ), PoolIntArray( 1, 5, 6 ), PoolIntArray( 1, 4, 5 ), PoolIntArray( 2, 1, 4 ), PoolIntArray( 3, 4, 2 ) ]
|
||||||
|
|
||||||
|
[node name="BentStraw2Left" type="Polygon2D" parent="."]
|
||||||
|
material = ExtResource( 3 )
|
||||||
|
position = Vector2( -4, 0 )
|
||||||
|
texture = ExtResource( 8 )
|
||||||
|
polygon = PoolVector2Array( 4.9375, 11.875, 5, 8.8125, 2.8125, 7, -0.375, 4.0625, 2.25, 1.9375, 4.75, 4.625, 8.0625, 7.9375, 8, 12.0625 )
|
||||||
|
uv = PoolVector2Array( 4.9375, 11.875, 5, 8.8125, 2.8125, 7, -0.375, 4.0625, 2.25, 1.9375, 4.75, 4.625, 8.0625, 7.9375, 8, 12.0625 )
|
||||||
|
polygons = [ PoolIntArray( 0, 6, 7 ), PoolIntArray( 0, 1, 6 ), PoolIntArray( 1, 5, 6 ), PoolIntArray( 1, 2, 5 ), PoolIntArray( 2, 4, 5 ), PoolIntArray( 2, 3, 4 ) ]
|
||||||
|
|
||||||
[node name="Timer" type="Timer" parent="."]
|
[node name="Timer" type="Timer" parent="."]
|
||||||
wait_time = 4.0
|
wait_time = 4.0
|
||||||
|
|||||||
@ -1,20 +1,16 @@
|
|||||||
[gd_scene load_steps=13 format=2]
|
[gd_scene load_steps=8 format=2]
|
||||||
|
|
||||||
[ext_resource path="res://src/Environment/AlienShipTileSet.tres" type="TileSet" id=1]
|
[ext_resource path="res://src/Environment/AlienShipTileSet.tres" type="TileSet" id=1]
|
||||||
[ext_resource path="res://src/Utilities/GameplaySignalManager.gd" type="Script" id=2]
|
[ext_resource path="res://src/Utilities/GameplaySignalManager.gd" type="Script" id=2]
|
||||||
[ext_resource path="res://src/Contraptions/Triggers/ThreeWhyButtons.tscn" type="PackedScene" id=3]
|
|
||||||
[ext_resource path="res://src/NeutralObjects/Coin.tscn" type="PackedScene" id=4]
|
|
||||||
[ext_resource path="res://src/Environment/ShaderGrass.tscn" type="PackedScene" id=5]
|
[ext_resource path="res://src/Environment/ShaderGrass.tscn" type="PackedScene" id=5]
|
||||||
[ext_resource path="res://src/UserInterface/UserInterface.tscn" type="PackedScene" id=6]
|
[ext_resource path="res://src/UserInterface/UserInterface.tscn" type="PackedScene" id=6]
|
||||||
[ext_resource path="res://src/Contraptions/Portal/Portal.tscn" type="PackedScene" id=7]
|
|
||||||
[ext_resource path="res://src/Contraptions/Triggers/ElevatorButton.tscn" type="PackedScene" id=8]
|
|
||||||
[ext_resource path="res://src/Levels/Enemy Test Level.tscn" type="PackedScene" id=9]
|
|
||||||
[ext_resource path="res://src/Actors/Blobby/Blobby.tscn" type="PackedScene" id=10]
|
[ext_resource path="res://src/Actors/Blobby/Blobby.tscn" type="PackedScene" id=10]
|
||||||
[ext_resource path="res://src/Actors/BlobbyCam.tscn" type="PackedScene" id=11]
|
[ext_resource path="res://src/Actors/BlobbyCam.tscn" type="PackedScene" id=11]
|
||||||
|
|
||||||
[sub_resource type="AnimationNodeStateMachinePlayback" id=4]
|
[sub_resource type="AnimationNodeStateMachinePlayback" id=4]
|
||||||
|
|
||||||
[node name="LevelTemplate" type="Node2D"]
|
[node name="LevelTemplate" type="Node2D"]
|
||||||
|
position = Vector2( 16, -10 )
|
||||||
__meta__ = {
|
__meta__ = {
|
||||||
"_edit_horizontal_guides_": [ 464.0 ],
|
"_edit_horizontal_guides_": [ 464.0 ],
|
||||||
"_edit_vertical_guides_": [ 2880.0 ]
|
"_edit_vertical_guides_": [ 2880.0 ]
|
||||||
@ -31,7 +27,18 @@ margin_top = 0.456848
|
|||||||
margin_right = 3.15375
|
margin_right = 3.15375
|
||||||
margin_bottom = 0.456848
|
margin_bottom = 0.456848
|
||||||
|
|
||||||
|
[node name="TileMap" type="TileMap" parent="."]
|
||||||
|
position = Vector2( -16, 10 )
|
||||||
|
tile_set = ExtResource( 1 )
|
||||||
|
cell_size = Vector2( 24, 24 )
|
||||||
|
collision_layer = 8
|
||||||
|
collision_mask = 8
|
||||||
|
format = 1
|
||||||
|
tile_data = PoolIntArray( -262152, 3, 0, -262151, 3, 0, -262150, 3, 0, -262149, 3, 0, -262148, 3, 0, -262147, 3, 0, -262146, 3, 0, -262145, 3, 0, -327680, 3, 0, -327679, 3, 0, -327678, 3, 0, -327677, 3, 0, -327676, 3, 0, -327675, 3, 0, -196616, 3, 0, -262139, 3, 0, -131080, 3, 0, -196603, 3, 0, -65544, 3, 0, -131067, 3, 0, -8, 3, 0, -65531, 3, 0, 65528, 3, 0, 65529, 3, 0, 65530, 3, 0, 65531, 3, 0, 65532, 3, 0, 65533, 4, 0, 65534, 4, 0, 65535, 4, 0, 0, 4, 0, 1, 4, 0, 2, 4, 0, 3, 4, 0, 4, 4, 0, 5, 4, 0 )
|
||||||
|
|
||||||
[node name="BlobbyCam" parent="." instance=ExtResource( 11 )]
|
[node name="BlobbyCam" parent="." instance=ExtResource( 11 )]
|
||||||
|
drag_margin_h_enabled = false
|
||||||
|
drag_margin_v_enabled = false
|
||||||
|
|
||||||
[node name="Blobby" parent="." instance=ExtResource( 10 )]
|
[node name="Blobby" parent="." instance=ExtResource( 10 )]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
@ -41,70 +48,6 @@ scale = Vector2( 0.878906, 0.936025 )
|
|||||||
[node name="AnimationTree" parent="Blobby/BlobbySprite" index="0"]
|
[node name="AnimationTree" parent="Blobby/BlobbySprite" index="0"]
|
||||||
parameters/playback = SubResource( 4 )
|
parameters/playback = SubResource( 4 )
|
||||||
|
|
||||||
[node name="TileMap" type="TileMap" parent="."]
|
|
||||||
position = Vector2( -109, -327 )
|
|
||||||
tile_set = ExtResource( 1 )
|
|
||||||
cell_size = Vector2( 24, 24 )
|
|
||||||
cell_quadrant_size = 3
|
|
||||||
cell_custom_transform = Transform2D( 24, 0, 0, 24, 0, 0 )
|
|
||||||
collision_layer = 8
|
|
||||||
collision_mask = 8
|
|
||||||
format = 1
|
|
||||||
tile_data = PoolIntArray( 655360, 2, 0, 655361, 2, 0, 655362, 2, 0, 655363, 2, 0, 655364, 2, 0, 655365, 2, 0, 655366, 2, 0, 655367, 2, 0, 655368, 2, 0, 720896, 2, 0, 720904, 2, 0, 786432, 2, 0, 786440, 2, 0, 851968, 2, 0, 851976, 2, 0, 917504, 2, 0, 917505, 2, 0, 917506, 2, 0, 917507, 2, 0, 917508, 2, 0, 917509, 2, 0, 917510, 2, 0, 917511, 2, 0, 917512, 2, 0 )
|
|
||||||
|
|
||||||
[node name="Collectibles" type="Node2D" parent="."]
|
|
||||||
visible = false
|
|
||||||
|
|
||||||
[node name="Coin" parent="Collectibles" instance=ExtResource( 4 )]
|
|
||||||
position = Vector2( 336, -60 )
|
|
||||||
scale = Vector2( 0.133, 0.133 )
|
|
||||||
|
|
||||||
[node name="Coin2" parent="Collectibles" instance=ExtResource( 4 )]
|
|
||||||
position = Vector2( 324, -11 )
|
|
||||||
scale = Vector2( 0.133, 0.133 )
|
|
||||||
|
|
||||||
[node name="Coin3" parent="Collectibles" instance=ExtResource( 4 )]
|
|
||||||
position = Vector2( 1188, -84 )
|
|
||||||
scale = Vector2( 0.133, 0.133 )
|
|
||||||
|
|
||||||
[node name="Coin4" parent="Collectibles" instance=ExtResource( 4 )]
|
|
||||||
position = Vector2( 1236, -108 )
|
|
||||||
scale = Vector2( 0.133, 0.133 )
|
|
||||||
|
|
||||||
[node name="Coin5" parent="Collectibles" instance=ExtResource( 4 )]
|
|
||||||
position = Vector2( 1140, -108 )
|
|
||||||
scale = Vector2( 0.133, 0.133 )
|
|
||||||
|
|
||||||
[node name="Coin6" parent="Collectibles" instance=ExtResource( 4 )]
|
|
||||||
position = Vector2( 696, -48 )
|
|
||||||
scale = Vector2( 0.133, 0.133 )
|
|
||||||
|
|
||||||
[node name="TreeWhyButtons" parent="." instance=ExtResource( 3 )]
|
|
||||||
visible = false
|
|
||||||
position = Vector2( -108, -7 )
|
|
||||||
|
|
||||||
[node name="WhyButton1" parent="TreeWhyButtons" index="0"]
|
|
||||||
position = Vector2( -12, -49 )
|
|
||||||
rotation = 1.5708
|
|
||||||
|
|
||||||
[node name="WhyButton2" parent="TreeWhyButtons" index="1"]
|
|
||||||
position = Vector2( 444, -17 )
|
|
||||||
rotation = 3.14159
|
|
||||||
|
|
||||||
[node name="WhyButton3" parent="TreeWhyButtons" index="2"]
|
|
||||||
position = Vector2( 1452, -77 )
|
|
||||||
rotation = -1.5708
|
|
||||||
|
|
||||||
[node name="ElevatorButton" parent="." instance=ExtResource( 8 )]
|
|
||||||
visible = false
|
|
||||||
position = Vector2( 1452, -96 )
|
|
||||||
|
|
||||||
[node name="Portal" parent="ElevatorButton" instance=ExtResource( 7 )]
|
|
||||||
visible = false
|
|
||||||
position = Vector2( -1464, 84 )
|
|
||||||
monitoring = false
|
|
||||||
next_scene = ExtResource( 9 )
|
|
||||||
|
|
||||||
[node name="GameplaySignalManager" type="Node2D" parent="."]
|
[node name="GameplaySignalManager" type="Node2D" parent="."]
|
||||||
script = ExtResource( 2 )
|
script = ExtResource( 2 )
|
||||||
|
|
||||||
@ -331,8 +274,5 @@ z_index = -1
|
|||||||
|
|
||||||
[editable path="UserInterface"]
|
[editable path="UserInterface"]
|
||||||
[editable path="UserInterface/HUD"]
|
[editable path="UserInterface/HUD"]
|
||||||
|
[editable path="BlobbyCam"]
|
||||||
[editable path="Blobby"]
|
[editable path="Blobby"]
|
||||||
[editable path="TreeWhyButtons"]
|
|
||||||
[editable path="TreeWhyButtons/WhyButton1"]
|
|
||||||
[editable path="TreeWhyButtons/WhyButton2"]
|
|
||||||
[editable path="TreeWhyButtons/WhyButton3"]
|
|
||||||
|
|||||||