Added levels 1,2,3

This commit is contained in:
2026-01-09 19:39:27 +03:00
parent bd0dd5a9ec
commit 123510d103
42 changed files with 858 additions and 52 deletions
+5 -1
View File
@@ -23,9 +23,10 @@ const PICKUP_OFFSET = 16.0
@export_range(0.0, 1000.0) var max_speed := 160
@export_range(0.0, 1000.0) var max_fall_speed := 640
@export_range(0.0, 1000.0) var acceleration := 600.0
@export_range(0.0, 1000.0) var jump_velocity := 320.0
@export_range(0.0, 10.0) var switch_time := 1.0
@export_range(0.0, 10.0) var switch_time := 0.0
@export_range(0.0, 2.0) var jump_gravity_factor := 1.0
@export_range(0.0, 2.0) var fall_gravity_factor := 1.5
@export_range(0.0, 1.0) var passive_jump_factor := 0.5
@@ -48,6 +49,8 @@ func _ready() -> void:
func _physics_process(delta: float) -> void:
if is_on_floor():
coyote_time_timer.start()
if is_on_ceiling_only() and velocity.y < 0.0:
velocity.y = 0.0
if not is_on_floor():
var gravity_factor := jump_gravity_factor if velocity.y < 0.0 else fall_gravity_factor
@@ -56,6 +59,7 @@ func _physics_process(delta: float) -> void:
velocity.y *= passive_jump_factor
velocity += get_gravity() * gravity_factor * delta
velocity.y = clampf(velocity.y, -max_fall_speed, max_fall_speed)
if not _is_alive:
_slow_down(delta)
+1 -1
View File
@@ -117,7 +117,7 @@ func _apply_color() -> void:
mask = _grey_mask | (_color_mask << COLLISION_WHITE_SHIFT)
State.TransitionToBlack, State.TransitionToWhite:
layer = _grey_layer | _color_layer | (_color_layer << COLLISION_WHITE_SHIFT)
mask = _grey_mask | _color_mask | (_color_mask << COLLISION_WHITE_SHIFT)
mask = _grey_mask
object.collision_layer = layer
object.collision_mask = mask
+7 -7
View File
@@ -2,10 +2,10 @@ class_name AbstractLevel
extends Node2D
const NEXT_LEVEL_META = "next_level"
const CURRENT_LEVEL_INDEX = "current_level"
@export var player_falling_at_start: bool = false
@onready var player : Player = $Player
@onready var pause_menu : PauseMenu = $%PauseMenu
@onready var game_over_menu : GameOverMenu = $%GameOverMenu
@onready var completion_menu : CompletionMenu = $%CompletionMenu
@@ -15,6 +15,9 @@ func _ready() -> void:
pause_menu.hide()
game_over_menu.hide()
if player_falling_at_start:
player.velocity.y = player.max_fall_speed
func _input(event: InputEvent) -> void:
if event.is_action_pressed("pause"):
@@ -33,9 +36,6 @@ func _on_level_end_entered(body: Node2D) -> void:
get_tree().paused = true
completion_menu.show()
var level_index : int = get_tree().get_meta(AbstractLevel.CURRENT_LEVEL_INDEX, 0)
get_tree().remove_meta(AbstractLevel.CURRENT_LEVEL_INDEX)
if SaveManager.completed_levels <= level_index:
SaveManager.completed_levels = level_index + 1
if SaveManager.completed_levels <= LevelManager.current_level_index:
SaveManager.completed_levels = LevelManager.current_level_index + 1
SaveManager.save()
+211
View File
@@ -0,0 +1,211 @@
[gd_scene load_steps=26 format=4 uid="uid://dlpi1ptis3wna"]
[ext_resource type="PackedScene" uid="uid://mpsu4g2b5h3a" path="res://game/levels/abstract_level.tscn" id="1_15okj"]
[ext_resource type="PackedScene" uid="uid://cojxqx5al7kyv" path="res://game/doors/closed_door.tscn" id="2_4ocoy"]
[ext_resource type="Material" uid="uid://dojhoc6ljpt1a" path="res://game/materials/gray_walls.tres" id="2_tuvkr"]
[ext_resource type="PackedScene" uid="uid://b7mhdrj3b6loq" path="res://game/doors/door.tscn" id="3_crrvt"]
[ext_resource type="Texture2D" uid="uid://d3346lrt1c1oh" path="res://images/level/outdoor.png" id="3_wi6ud"]
[ext_resource type="PackedScene" uid="uid://cemhsfdru4pv6" path="res://game/objects/tutorial/movement_kbd.tscn" id="4_rifvl"]
[ext_resource type="PackedScene" uid="uid://tipop68pyrf7" path="res://game/objects/tutorial/movement_pad.tscn" id="5_l6jt4"]
[ext_resource type="PackedScene" uid="uid://pw8xqtpauy57" path="res://game/objects/tutorial/jump_kbd.tscn" id="6_g1txn"]
[ext_resource type="PackedScene" uid="uid://3372ayctb2ed" path="res://game/objects/tutorial/jump_pad.tscn" id="7_yrqjd"]
[ext_resource type="PackedScene" uid="uid://b3kyqvuxmfn8f" path="res://game/objects/fireplace.tscn" id="8_dea75"]
[ext_resource type="PackedScene" uid="uid://bt4smb361amjj" path="res://game/objects/flask_s.tscn" id="8_rt0xo"]
[ext_resource type="PackedScene" uid="uid://d330w1ygg6uxy" path="res://game/objects/painting_v_l.tscn" id="9_mmf06"]
[ext_resource type="PackedScene" uid="uid://c0bk5sk661hi1" path="res://game/objects/painting_h_s.tscn" id="10_yrqjd"]
[ext_resource type="PackedScene" uid="uid://b8pvlnpdnfmd0" path="res://game/objects/chair_f.tscn" id="11_qpo0v"]
[ext_resource type="PackedScene" uid="uid://bdwbdnbenueu1" path="res://game/objects/table_m.tscn" id="12_lxfsh"]
[ext_resource type="PackedScene" uid="uid://crccdk7wmuqig" path="res://game/objects/painting_h_l.tscn" id="13_g3b4m"]
[ext_resource type="PackedScene" uid="uid://bo7756lp68bl1" path="res://game/objects/painting_v_s.tscn" id="14_blgb8"]
[ext_resource type="PackedScene" uid="uid://cvhovmnl050os" path="res://game/objects/wardrobe.tscn" id="15_ohfy3"]
[ext_resource type="PackedScene" uid="uid://c6qy8uybkn4x" path="res://game/objects/plate.tscn" id="15_rt0xo"]
[ext_resource type="PackedScene" uid="uid://dopjsft0y8mw5" path="res://game/objects/cabinet.tscn" id="16_rt0xo"]
[ext_resource type="PackedScene" uid="uid://xny1x7me75gc" path="res://game/objects/mirror_l.tscn" id="17_blgb8"]
[ext_resource type="PackedScene" uid="uid://btpkbyyteewsh" path="res://game/objects/chair_b.tscn" id="18_ohfy3"]
[ext_resource type="PackedScene" uid="uid://b1cq0uor2sk6k" path="res://game/objects/table_l.tscn" id="19_rt0xo"]
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_4ocoy"]
texture = ExtResource("3_wi6ud")
0:0/0 = 0
0:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(8, -5, -5, 8, 1, 8, 8, 1)
1:0/0 = 0
1:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(1, -8, -8, 1, -8, -5, -5, -8)
0:1/0 = 0
0:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(8, 1, -1, -8, 5, -8, 8, -5)
1:1/0 = 0
1:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(5, 8, -8, -5, -8, 1, -1, 8)
0:2/0 = 0
0:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(5, -8, 8, -5, 8, 8, 1, 8, 1, -6, -1, -8)
1:2/0 = 0
1:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(2, 5, -8, -5, -8, 1, -1, 8)
0:3/0 = 0
0:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(1, -8, 8, -8, 8, 8, 1, 8)
1:3/0 = 0
1:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, -3, -8, -3)
2:0/0 = 0
2:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(8, -5, -2, 5, 1, 8, 8, 1)
2:1/0 = 0
2:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-5, -8, -8, -5, -8, 8, -1, 8, -1, -6, 1, -8)
2:2/0 = 0
2:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-1, -8, -1, 8, -8, 8, -8, -8)
2:3/0 = 0
2:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(8, -8, 8, -3, 1, -3, 1, -8)
[sub_resource type="TileSet" id="TileSet_crrvt"]
physics_layer_0/collision_layer = 1
physics_layer_0/collision_mask = 0
sources/0 = SubResource("TileSetAtlasSource_4ocoy")
[node name="Level1" instance=ExtResource("1_15okj")]
[node name="OutdoorDoor" parent="Doors" index="0" instance=ExtResource("2_4ocoy")]
position = Vector2(-363, -8)
[node name="EntranceDoor" parent="Doors" index="1" instance=ExtResource("3_crrvt")]
position = Vector2(288, -8)
[node name="Room1Door" parent="Doors" index="2" instance=ExtResource("3_crrvt")]
position = Vector2(976, -8)
[node name="Room1LockedDoor" parent="Doors" index="3" instance=ExtResource("2_4ocoy")]
position = Vector2(1585, -8)
[node name="Room2LockedDoor" parent="Doors" index="4" instance=ExtResource("2_4ocoy")]
position = Vector2(1264, 280)
[node name="Room2Door" parent="Doors" index="5" instance=ExtResource("3_crrvt")]
position = Vector2(1776, 280)
[node name="Outdoor" type="Node2D" parent="Objects" index="0"]
position = Vector2(71, 0)
[node name="MovementKbd" parent="Objects/Outdoor" index="0" instance=ExtResource("4_rifvl")]
position = Vector2(-21, 2)
[node name="MovementPad" parent="Objects/Outdoor" index="1" instance=ExtResource("5_l6jt4")]
position = Vector2(24, -4)
[node name="Entrance" type="Node2D" parent="Objects" index="1"]
position = Vector2(641, 0)
[node name="JumpKbd" parent="Objects/Entrance" index="0" instance=ExtResource("6_g1txn")]
position = Vector2(173, -52)
[node name="JumpPad" parent="Objects/Entrance" index="1" instance=ExtResource("7_yrqjd")]
position = Vector2(95, -28)
[node name="FlaskS" parent="Objects/Entrance" index="2" instance=ExtResource("8_rt0xo")]
position = Vector2(-212, -15)
[node name="Fireplace" parent="Objects/Entrance" index="3" instance=ExtResource("8_dea75")]
position = Vector2(-206, 0)
[node name="PaintingVL" parent="Objects/Entrance" index="4" instance=ExtResource("9_mmf06")]
position = Vector2(-259, -48)
[node name="PaintingHS" parent="Objects/Entrance" index="5" instance=ExtResource("10_yrqjd")]
position = Vector2(-80, -38)
[node name="Room1" type="Node2D" parent="Objects" index="2"]
position = Vector2(1266, -21)
[node name="Chair" parent="Objects/Room1" index="0" instance=ExtResource("11_qpo0v")]
position = Vector2(-3, 23)
[node name="TableM" parent="Objects/Room1" index="1" instance=ExtResource("12_lxfsh")]
position = Vector2(0, 28)
[node name="PaintingVL" parent="Objects/Room1" index="2" instance=ExtResource("9_mmf06")]
position = Vector2(59, -24)
[node name="PaintingHL" parent="Objects/Room1" index="3" instance=ExtResource("13_g3b4m")]
position = Vector2(236, -16)
[node name="PaintingVS" parent="Objects/Room1" index="4" instance=ExtResource("14_blgb8")]
position = Vector2(-180, -16)
[node name="Plate" parent="Objects/Room1" index="5" instance=ExtResource("15_rt0xo")]
position = Vector2(3, 18)
[node name="Room2" type="Node2D" parent="Objects" index="3"]
position = Vector2(1516, 254)
[node name="Wardrobe" parent="Objects/Room2" index="0" instance=ExtResource("15_ohfy3")]
position = Vector2(-69, 28)
[node name="Cabinet1" parent="Objects/Room2" index="1" instance=ExtResource("16_rt0xo")]
position = Vector2(-13, 39)
[node name="MirrorL" parent="Objects/Room2" index="2" instance=ExtResource("17_blgb8")]
position = Vector2(177, 22)
[node name="Cabinet2" parent="Objects/Room2" index="3" instance=ExtResource("16_rt0xo")]
position = Vector2(177, 39)
[node name="PaintingHS" parent="Objects/Room2" index="4" instance=ExtResource("10_yrqjd")]
position = Vector2(-13, -11)
[node name="PaintingVL" parent="Objects/Room2" index="5" instance=ExtResource("9_mmf06")]
position = Vector2(-171, 5)
[node name="Room3" type="Node2D" parent="Objects" index="4"]
position = Vector2(2205, 270)
[node name="ChairF_M" parent="Objects/Room3" index="0" instance=ExtResource("11_qpo0v")]
position = Vector2(-83, 20)
[node name="TableM" parent="Objects/Room3" index="1" instance=ExtResource("12_lxfsh")]
position = Vector2(-74, 25)
[node name="PlateM" parent="Objects/Room3" index="2" instance=ExtResource("15_rt0xo")]
position = Vector2(-78, 15)
[node name="ChairB_M" parent="Objects/Room3" index="3" instance=ExtResource("18_ohfy3")]
position = Vector2(-67, 20)
[node name="ChairF_L_1" parent="Objects/Room3" index="4" instance=ExtResource("11_qpo0v")]
position = Vector2(63, 20)
[node name="ChairF_L_2" parent="Objects/Room3" index="5" instance=ExtResource("11_qpo0v")]
position = Vector2(83, 20)
[node name="ChairF_L_3" parent="Objects/Room3" index="6" instance=ExtResource("11_qpo0v")]
position = Vector2(106, 20)
[node name="TableL" parent="Objects/Room3" index="7" instance=ExtResource("19_rt0xo")]
position = Vector2(83, 25)
[node name="PlateL1" parent="Objects/Room3" index="8" instance=ExtResource("15_rt0xo")]
position = Vector2(69, 15)
[node name="PlateL2" parent="Objects/Room3" index="9" instance=ExtResource("15_rt0xo")]
position = Vector2(89, 15)
[node name="ChairB_L_1" parent="Objects/Room3" index="10" instance=ExtResource("18_ohfy3")]
position = Vector2(72, 20)
[node name="ChairB_L_2" parent="Objects/Room3" index="11" instance=ExtResource("18_ohfy3")]
position = Vector2(95, 20)
[node name="PaintingHS" parent="Objects/Room3" index="12" instance=ExtResource("10_yrqjd")]
position = Vector2(0, -18)
[node name="PaintingVS" parent="Objects/Room3" index="13" instance=ExtResource("14_blgb8")]
position = Vector2(-350, -17)
[node name="GrayWalls" parent="Tiles" index="0"]
tile_map_data = PackedByteArray("AAARAAEAAAABAAAAAAASAAEAAAABAAAAAAATAAEAAAABAAAAAAAUAAEAAAABAAAAAAAVAAEAAAABAAAAAAAWAAEAAAABAAAAAAAXAAEAAAABAAAAAAAYAAEAAAABAAAAAAAZAAEAAAABAAAAAAAaAAEAAAABAAAAAAAbAAEAAAABAAAAAAAcAAEAAAABAAAAAAAdAAEAAAABAAAAAAAeAAEAAAABAAAAAAAfAAEAAAABAAAAAAAgAAEAAAABAAAAAAAhAAEAAAABAAAAAAAiAAEAAAABAAAAAAAjAAEAAAABAAAAAAAkAAEAAAABAAAAAAAlAAEAAAABAAAAAAAmAAEAAAABAAAAAAAnAAEAAAABAAAAAAAoAAEAAAABAAAAAAARAP3/AAAGAAIAAAARAPz/AAAGAAEAAAApAAEAAAACAAAAAAArAAEAAAAAAAAAAAArAAIAAAAAAAEAAAApAAIAAAACAAEAAAAsAAEAAAABAAAAAAAtAAEAAAABAAAAAAAuAAEAAAABAAAAAAAvAAEAAAABAAAAAAAwAAEAAAABAAAAAAAxAAEAAAACAAAAAAA3AAEAAAAAAAAAAAA4AAEAAAABAAAAAAA5AAEAAAABAAAAAAA6AAEAAAABAAAAAAA7AAEAAAABAAAAAAApAAMAAAADAAEAAAArAAMAAAAEAAEAAAAqAAMAAAABAAAAAAAxAAIAAAACAAEAAAAxAAQAAAADAAEAAAAxAAMAAAACAAEAAAA3AAMAAAAAAAEAAAA3AAIAAAAAAAEAAAA8APz/AAAGAAEAAAA8AP3/AAAGAAIAAAA8AAEAAAABAAAAAAA9AAEAAAABAAAAAAA+AAEAAAABAAAAAABOAAEAAAABAAAAAABPAAEAAAABAAAAAABPABMAAAABAAAAAABQAAEAAAABAAAAAABQABMAAAABAAAAAABRAAEAAAABAAAAAABRABMAAAABAAAAAABSAAEAAAABAAAAAABSABMAAAABAAAAAABTAAEAAAABAAAAAABTABMAAAABAAAAAABUAAEAAAABAAAAAABUABMAAAABAAAAAABVAAEAAAACAAAAAABVAAIAAAACAAEAAABVAAMAAAACAAEAAABVAAQAAAACAAEAAABVAAUAAAACAAEAAABVAAYAAAACAAEAAABVAAcAAAACAAEAAABVAAgAAAACAAEAAABVAAkAAAACAAEAAABVAAoAAAACAAEAAABVAAsAAAACAAIAAABVABMAAAABAAAAAABWABMAAAABAAAAAABXAAEAAAAAAAAAAABXAAIAAAAAAAEAAABXAAMAAAAAAAEAAABXAAQAAAAAAAEAAABXAAUAAAAAAAEAAABXAAYAAAAAAAEAAABXAAcAAAAAAAEAAABXAAgAAAAAAAEAAABXAAkAAAAAAAEAAABXAAoAAAAAAAEAAABXAAsAAAAAAAIAAABXABMAAAABAAAAAABYAAEAAAABAAAAAABYABMAAAABAAAAAABZAAEAAAABAAAAAABZABMAAAABAAAAAABaAAEAAAABAAAAAABaABMAAAABAAAAAABbAAEAAAABAAAAAABbABMAAAABAAAAAABcAAEAAAABAAAAAABcABMAAAABAAAAAABdAAEAAAABAAAAAABdABMAAAABAAAAAABeAAEAAAABAAAAAABeABMAAAABAAAAAABfAAEAAAABAAAAAABfABMAAAABAAAAAABgAAEAAAABAAAAAABgABMAAAABAAAAAABhAAEAAAABAAAAAABhABMAAAABAAAAAABiAPz/AAAAAAEAAABiAP3/AAAAAAIAAABiAAEAAAABAAAAAABiABMAAAACAAAAAABmABMAAAABAAAAAABnABMAAAABAAAAAABoABMAAAABAAAAAABpABMAAAABAAAAAABqABMAAAABAAAAAABrABMAAAABAAAAAABsABMAAAABAAAAAABtABMAAAABAAAAAABuABMAAAABAAAAAABvABMAAAABAAAAAABwABMAAAABAAAAAABxABMAAAABAAAAAAByABMAAAABAAAAAABzABMAAAABAAAAAAB0ABMAAAABAAAAAAB1ABMAAAABAAAAAAB2ABMAAAABAAAAAAB3ABMAAAABAAAAAAA/AAEAAAABAAAAAABAAAEAAAABAAAAAABBAAEAAAABAAAAAABCAAEAAAABAAAAAABDAAEAAAABAAAAAABEAAEAAAACAAAAAABKAAEAAAAAAAAAAABLAAEAAAABAAAAAABMAAEAAAABAAAAAABNAAEAAAABAAAAAABOAA4AAAACAAEAAABOAA8AAAACAAIAAABOABMAAAABAAAAAABEAAIAAAACAAEAAABEAAMAAAACAAEAAABEAAQAAAADAAEAAABFAAQAAAACAAAAAABFAAUAAAACAAEAAABFAAYAAAACAAEAAABFAAcAAAADAAEAAABGAAcAAAABAAAAAABHAAcAAAABAAAAAABIAAcAAAABAAAAAABJAAcAAAABAAAAAABKAAIAAAAAAAEAAABKAAMAAAAAAAEAAABKAAQAAAAAAAEAAABKAAUAAAAAAAEAAABKAAYAAAAAAAEAAABKAAcAAAAEAAEAAAAzAAQAAAABAAAAAAA0AAQAAAABAAAAAAA1AAQAAAABAAAAAAA2AAQAAAABAAAAAAAyAAQAAAABAAAAAAA3AAQAAAAEAAEAAABiABQAAAACAAEAAABiABUAAAACAAEAAABiABYAAAACAAEAAABlABMAAAAAAAAAAABlABQAAAAAAAEAAABlABUAAAAAAAEAAABlABYAAAAAAAEAAABlABcAAAAAAAEAAABiABcAAAACAAEAAABjABcAAAABAAIAAABkABcAAAABAAIAAABuAA8AAAAGAAIAAABuAA4AAAAGAAEAAAB4ABMAAAACAAAAAAB4ABQAAAACAAEAAAB4ABUAAAACAAEAAAB4ABYAAAACAAEAAAB4ABcAAAACAAEAAAB4ABgAAAACAAEAAAB4ABkAAAACAAEAAAB+ABMAAAAAAAAAAAB+ABQAAAAAAAEAAAB+ABUAAAAAAAEAAAB+ABYAAAAAAAEAAAB+ABcAAAAAAAEAAAB+ABgAAAAAAAEAAAB+ABkAAAAAAAEAAAB5ABkAAAABAAIAAAB6ABkAAAABAAIAAAB7ABkAAAABAAIAAAB8ABkAAAABAAIAAAB9ABkAAAABAAIAAAB/ABMAAAABAAAAAACAABMAAAABAAAAAACBABMAAAABAAAAAACCABMAAAABAAAAAACDABMAAAABAAAAAACEABMAAAABAAAAAACFABMAAAABAAAAAACGABMAAAABAAAAAACHABMAAAABAAAAAACIABMAAAABAAAAAACJABMAAAABAAAAAACKABMAAAABAAAAAACLABMAAAABAAAAAACMABMAAAABAAAAAACNABMAAAABAAAAAACOABMAAAABAAAAAACPABMAAAABAAAAAACQABMAAAABAAAAAACRABMAAAABAAAAAACSABMAAAABAAAAAACTABMAAAABAAAAAACUABMAAAABAAAAAACVABMAAAACAAAAAACYABMAAAAAAAEAAACYABQAAAAAAAEAAACYABUAAAAAAAEAAACYABYAAAAAAAEAAACYABcAAAAAAAEAAACYABgAAAAAAAEAAACYABkAAAAAAAEAAACYABoAAAAAAAEAAACYABsAAAAAAAEAAACYABwAAAAAAAEAAACYAB0AAAAAAAEAAACVABQAAAACAAEAAACVABUAAAACAAEAAACVABYAAAACAAEAAACVABcAAAACAAEAAACVABgAAAACAAEAAACVABkAAAACAAEAAACVABoAAAACAAEAAACVABsAAAACAAEAAACVABwAAAACAAEAAACVAB0AAAACAAEAAACYABIAAAAAAAEAAACYABEAAAAAAAEAAACYABAAAAAAAAEAAACYAA8AAAAAAAEAAACYAA4AAAAAAAEAAACVAB4AAAACAAEAAACVAB8AAAACAAEAAACVACAAAAACAAEAAACVACEAAAACAAEAAACVACIAAAACAAEAAACVACMAAAACAAEAAACVACQAAAACAAEAAACVACUAAAACAAEAAACVACYAAAACAAEAAACVACcAAAACAAEAAACVACgAAAACAAEAAACVACkAAAACAAEAAACVACoAAAACAAEAAACYAB4AAAAAAAEAAACYAB8AAAAAAAEAAACYACAAAAAAAAEAAACYACEAAAAAAAEAAACYACIAAAAAAAEAAACYACMAAAAAAAEAAACYACQAAAAAAAEAAACYACUAAAAAAAEAAACYACYAAAAAAAEAAACYACcAAAAAAAEAAACYACgAAAAAAAEAAACYACkAAAAAAAEAAACYACoAAAAAAAEAAAA=")
[node name="WhiteWalls" parent="Tiles" index="2"]
tile_map_data = PackedByteArray("AAARAPv/AAAGAAEAAAARAPr/AAAGAAEAAAARAPj/AAAAAAEAAAARAPf/AAAAAAEAAAARAPb/AAAAAAEAAAARAPX/AAAAAAEAAAARAPT/AAAAAAEAAAARAPP/AAAAAAEAAAARAPL/AAAAAAEAAAARAPH/AAAAAAEAAAARAPD/AAAAAAEAAAARAO//AAAAAAEAAAARAO7/AAAAAAEAAAARAO3/AAAAAAEAAAARAPn/AAAFAAYAAAASAPn/AAABAAIAAAATAPn/AAABAAIAAAAUAPn/AAABAAIAAAAVAPn/AAABAAIAAAAWAPn/AAABAAIAAAAXAPn/AAABAAIAAAAYAPn/AAABAAIAAAAZAPn/AAABAAIAAAAaAPn/AAABAAIAAAAbAPn/AAABAAIAAAAcAPn/AAABAAIAAAAdAPn/AAABAAIAAAAeAPn/AAABAAIAAAAfAPn/AAABAAIAAAAgAPn/AAABAAIAAAAhAPn/AAABAAIAAAAiAPn/AAABAAIAAAAjAPn/AAABAAIAAAAkAPn/AAABAAIAAAAlAPn/AAABAAIAAAAmAPn/AAABAAIAAAAnAPn/AAABAAIAAAAoAPn/AAABAAIAAAApAPn/AAABAAIAAAAqAPn/AAABAAIAAAArAPn/AAABAAIAAAAsAPn/AAABAAIAAAAtAPn/AAABAAIAAAAuAPn/AAABAAIAAAAvAPn/AAABAAIAAAAwAPn/AAABAAIAAAAxAPn/AAABAAIAAAAyAPn/AAABAAIAAAAzAPn/AAABAAIAAAA0APn/AAABAAIAAAA1APn/AAABAAIAAAA2APn/AAABAAIAAAA3APn/AAABAAIAAAA4APn/AAABAAIAAAA5APn/AAABAAIAAAA6APn/AAABAAIAAAA7APn/AAABAAIAAAA8APv/AAAGAAEAAAA8APr/AAAGAAEAAAA8APn/AAABAAcAAAA9APn/AAABAAIAAAA+APn/AAABAAIAAAA/APn/AAABAAIAAABAAPn/AAABAAIAAABBAPn/AAABAAIAAABCAPn/AAABAAIAAABDAPn/AAABAAIAAABEAPn/AAABAAIAAABFAPn/AAABAAIAAABGAPn/AAABAAIAAABHAPn/AAABAAIAAABIAPn/AAABAAIAAABJAPn/AAABAAIAAABKAPn/AAABAAIAAABLAPn/AAABAAIAAABMAPn/AAABAAIAAABNAPn/AAABAAIAAABOAPn/AAABAAIAAABPAPn/AAABAAIAAABfAPn/AAABAAIAAABgAPn/AAABAAIAAABhAPn/AAABAAIAAABiAPn/AAAEAAAAAABiAPr/AAAAAAEAAABiAPv/AAAAAAEAAABQAPn/AAABAAIAAABRAPn/AAABAAIAAABSAPn/AAABAAIAAABTAPn/AAABAAIAAABUAPn/AAABAAIAAABVAPn/AAABAAIAAABWAPn/AAABAAIAAABXAPn/AAABAAIAAABYAPn/AAABAAIAAABZAPn/AAABAAIAAABaAPn/AAABAAIAAABbAPn/AAABAAIAAABcAPn/AAABAAIAAABdAPn/AAABAAIAAABeAPn/AAABAAIAAABYAAsAAAABAAIAAABZAAsAAAABAAIAAABaAAsAAAABAAIAAABbAAsAAAABAAIAAABcAAsAAAABAAIAAABdAAsAAAABAAIAAABeAAsAAAABAAIAAABfAAsAAAABAAIAAABgAAsAAAABAAIAAABhAAsAAAABAAIAAABiAAsAAAABAAIAAABjAAsAAAABAAIAAABkAAsAAAABAAIAAABlAAsAAAABAAIAAABmAAsAAAABAAIAAABnAAsAAAABAAIAAABoAAsAAAABAAIAAABpAAsAAAABAAIAAABqAAsAAAABAAIAAABrAAsAAAABAAIAAABsAAsAAAABAAIAAABtAAsAAAABAAIAAABuAAsAAAABAAcAAABvAAsAAAABAAIAAABwAAsAAAABAAIAAABxAAsAAAABAAIAAABUAAsAAAABAAIAAABTAAsAAAABAAIAAABSAAsAAAABAAIAAABRAAsAAAABAAIAAABQAAsAAAABAAIAAABPAAsAAAABAAIAAABOAAsAAAADAAAAAABOAAwAAAACAAEAAABOAA0AAAACAAEAAABuAA0AAAAGAAEAAABuAAwAAAAGAAEAAAByAAsAAAABAAIAAABzAAsAAAABAAIAAAB0AAsAAAABAAIAAAB1AAsAAAABAAIAAAB2AAsAAAABAAIAAAB3AAsAAAABAAIAAAB4AAsAAAABAAIAAAB5AAsAAAABAAIAAAB6AAsAAAABAAIAAAB7AAsAAAABAAIAAAB8AAsAAAABAAIAAAB9AAsAAAABAAIAAAB+AAsAAAABAAIAAAB/AAsAAAABAAIAAACAAAsAAAABAAIAAACBAAsAAAABAAIAAACCAAsAAAABAAIAAACDAAsAAAABAAIAAACEAAsAAAABAAIAAACFAAsAAAABAAIAAACGAAsAAAABAAIAAACYAA0AAAAAAAEAAACYAAwAAAAAAAEAAACHAAsAAAABAAIAAACIAAsAAAABAAIAAACJAAsAAAABAAIAAACKAAsAAAABAAIAAACLAAsAAAABAAIAAACMAAsAAAABAAIAAACNAAsAAAABAAIAAACOAAsAAAABAAIAAACPAAsAAAABAAIAAACQAAsAAAABAAIAAACRAAsAAAABAAIAAACSAAsAAAABAAIAAACTAAsAAAABAAIAAACUAAsAAAABAAIAAACVAAsAAAABAAIAAACWAAsAAAABAAIAAACXAAsAAAABAAIAAACYAAsAAAAEAAAAAAA=")
[node name="Traps" parent="Tiles" index="3"]
tile_map_data = PackedByteArray("AABjABUAAAAAAAAAAABkABUAAAAAAAAAAABjABYAAAAAAAEAAABkABYAAAAAAAEAAABkABcAAAAAAAEAAABjABcAAAAAAAEAAAB5ABkAAAAAAAEAAAB6ABkAAAAAAAEAAAB7ABkAAAAAAAEAAAB8ABkAAAAAAAEAAAB9ABkAAAAAAAEAAAB5ABgAAAAAAAEAAAB6ABgAAAAAAAEAAAB7ABgAAAAAAAEAAAB8ABgAAAAAAAEAAAB9ABgAAAAAAAEAAAB5ABcAAAAAAAAAAAB6ABcAAAAAAAAAAAB7ABcAAAAAAAAAAAB8ABcAAAAAAAAAAAB9ABcAAAAAAAAAAAA=")
[node name="Outdoor" type="TileMapLayer" parent="Tiles" index="4"]
material = ExtResource("2_tuvkr")
tile_map_data = PackedByteArray("AADp/wEAAAABAAMAAADq/wEAAAABAAMAAADr/wEAAAABAAMAAADs/wEAAAABAAMAAADt/wEAAAABAAMAAADu/wEAAAABAAMAAADv/wEAAAABAAMAAADw/wEAAAABAAMAAADx/wEAAAABAAMAAADy/wEAAAABAAMAAADz/wEAAAABAAMAAAD0/wEAAAABAAMAAAD1/wEAAAABAAMAAAD2/wEAAAABAAMAAAD3/wEAAAABAAMAAAD4/wEAAAABAAMAAAD5/wEAAAABAAMAAAD6/wEAAAABAAMAAAD7/wEAAAABAAMAAAD8/wEAAAABAAMAAAD9/wEAAAABAAMAAAD+/wEAAAABAAMAAAD//wEAAAABAAMAAAAAAAEAAAABAAMAAAABAAEAAAABAAMAAAACAAEAAAABAAMAAAADAAEAAAABAAMAAAAEAAEAAAABAAMAAAAFAAEAAAABAAMAAAAGAAEAAAABAAMAAAAHAAEAAAABAAMAAAAIAAEAAAABAAMAAAAJAAEAAAABAAMAAAAKAAEAAAABAAMAAAALAAEAAAABAAMAAAAMAAEAAAABAAMAAAANAAEAAAABAAMAAAAOAAEAAAABAAMAAAAPAAEAAAABAAMAAAAQAAEAAAABAAMAAADo//3/AAAAAAMAAADo//z/AAAAAAMAAADo//v/AAAAAAIAAADp//v/AAABAAIAAADo//r/AAABAAEAAADn//n/AAABAAEAAADm//j/AAABAAEAAADn//r/AAAAAAEAAADm//n/AAAAAAEAAADl//j/AAAAAAEAAADk//f/AAAAAAEAAADl//f/AAABAAEAAADk//b/AAABAAEAAADo/wEAAAACAAMAAAA=")
tile_set = SubResource("TileSet_crrvt")
[node name="LevelEnd" parent="." index="7"]
position = Vector2(2416, 471)
+162
View File
@@ -0,0 +1,162 @@
[gd_scene load_steps=20 format=4 uid="uid://cc06c06hlv7ix"]
[ext_resource type="PackedScene" uid="uid://mpsu4g2b5h3a" path="res://game/levels/abstract_level.tscn" id="1_t037v"]
[ext_resource type="PackedScene" uid="uid://cojxqx5al7kyv" path="res://game/doors/closed_door.tscn" id="2_iakit"]
[ext_resource type="PackedScene" uid="uid://deo60sij43ibm" path="res://game/objects/tutorial/switch_kbd.tscn" id="3_6jjde"]
[ext_resource type="PackedScene" uid="uid://b7mhdrj3b6loq" path="res://game/doors/door.tscn" id="3_ylsm2"]
[ext_resource type="PackedScene" uid="uid://f70xseggdimg" path="res://game/objects/tutorial/switch_pad.tscn" id="4_bxukv"]
[ext_resource type="PackedScene" uid="uid://xny1x7me75gc" path="res://game/objects/mirror_l.tscn" id="5_bxukv"]
[ext_resource type="PackedScene" uid="uid://dopjsft0y8mw5" path="res://game/objects/cabinet.tscn" id="5_uivyf"]
[ext_resource type="PackedScene" uid="uid://b8pvlnpdnfmd0" path="res://game/objects/chair_f.tscn" id="6_go8g1"]
[ext_resource type="PackedScene" uid="uid://bdwbdnbenueu1" path="res://game/objects/table_m.tscn" id="7_2a8w4"]
[ext_resource type="PackedScene" uid="uid://b6wgujelmka5p" path="res://game/objects/chair_r.tscn" id="8_2a8w4"]
[ext_resource type="PackedScene" uid="uid://c6qy8uybkn4x" path="res://game/objects/plate.tscn" id="10_7s8yo"]
[ext_resource type="PackedScene" uid="uid://btpkbyyteewsh" path="res://game/objects/chair_b.tscn" id="10_ylsm2"]
[ext_resource type="PackedScene" uid="uid://x82wjrsqdfd" path="res://game/objects/chair_l.tscn" id="11_7c6gx"]
[ext_resource type="PackedScene" uid="uid://cvhovmnl050os" path="res://game/objects/wardrobe.tscn" id="13_7c6gx"]
[ext_resource type="PackedScene" uid="uid://crccdk7wmuqig" path="res://game/objects/painting_h_l.tscn" id="14_u51cf"]
[ext_resource type="PackedScene" uid="uid://baqawh1drerhk" path="res://game/objects/table_s.tscn" id="15_cys5i"]
[ext_resource type="PackedScene" uid="uid://d330w1ygg6uxy" path="res://game/objects/painting_v_l.tscn" id="16_ddwrs"]
[ext_resource type="PackedScene" uid="uid://bt4smb361amjj" path="res://game/objects/flask_s.tscn" id="16_v8xjl"]
[ext_resource type="PackedScene" uid="uid://bmx60xftq8f2v" path="res://game/objects/mirror_s.tscn" id="17_ddwrs"]
[node name="Level2" instance=ExtResource("1_t037v")]
player_falling_at_start = true
[node name="ClosedDoor" parent="Doors" index="0" instance=ExtResource("2_iakit")]
position = Vector2(-48, 296)
[node name="TunnelEntranceDoor" parent="Doors" index="1" instance=ExtResource("3_ylsm2")]
position = Vector2(670, 440)
[node name="TunnelExitDoor" parent="Doors" index="2" instance=ExtResource("3_ylsm2")]
position = Vector2(963, 440)
[node name="Room1" type="Node2D" parent="Objects" index="0"]
position = Vector2(45, 272)
[node name="SwitchKbd" parent="Objects/Room1" index="0" instance=ExtResource("3_6jjde")]
position = Vector2(59, -11)
[node name="SwitchPad" parent="Objects/Room1" index="1" instance=ExtResource("4_bxukv")]
position = Vector2(-36, -3)
[node name="MirrorL" parent="Objects/Room1" index="2" instance=ExtResource("5_bxukv")]
position = Vector2(0, 20)
[node name="Cabinet" parent="Objects/Room1" index="3" instance=ExtResource("5_uivyf")]
position = Vector2(0, 37)
[node name="Room2" type="Node2D" parent="Objects" index="1"]
position = Vector2(244, 268)
[node name="ChairF1" parent="Objects/Room2" index="0" instance=ExtResource("6_go8g1")]
position = Vector2(-7, 38)
[node name="ChairF2" parent="Objects/Room2" index="1" instance=ExtResource("6_go8g1")]
position = Vector2(10, 38)
[node name="ChairR" parent="Objects/Room2" index="2" instance=ExtResource("8_2a8w4")]
position = Vector2(-19, 38)
[node name="Plate" parent="Objects/Room2" index="3" instance=ExtResource("10_7s8yo")]
position = Vector2(6, 33)
[node name="TableM" parent="Objects/Room2" index="4" instance=ExtResource("7_2a8w4")]
position = Vector2(1, 43)
[node name="ChairB" parent="Objects/Room2" index="5" instance=ExtResource("10_ylsm2")]
position = Vector2(1, 38)
[node name="ChairL" parent="Objects/Room2" index="6" instance=ExtResource("11_7c6gx")]
position = Vector2(83, 38)
[node name="Room3" type="Node2D" parent="Objects" index="2"]
position = Vector2(309, 408)
[node name="MirrorL" parent="Objects/Room3" index="0" instance=ExtResource("5_bxukv")]
position = Vector2(42, 28)
[node name="Cabinet1" parent="Objects/Room3" index="1" instance=ExtResource("5_uivyf")]
position = Vector2(42, 45)
[node name="Cabinet2" parent="Objects/Room3" index="2" instance=ExtResource("5_uivyf")]
position = Vector2(145, 45)
[node name="Wardrobe1" parent="Objects/Room3" index="3" instance=ExtResource("13_7c6gx")]
position = Vector2(-64, 34)
[node name="Wardrobe2" parent="Objects/Room3" index="4" instance=ExtResource("13_7c6gx")]
position = Vector2(-97, 34)
[node name="Wardrobe3" parent="Objects/Room3" index="5" instance=ExtResource("13_7c6gx")]
position = Vector2(-31, 34)
[node name="ChairB" parent="Objects/Room3" index="6" instance=ExtResource("10_ylsm2")]
position = Vector2(43, 42)
[node name="Room4" type="Node2D" parent="Objects" index="3"]
position = Vector2(589, 430)
[node name="PaintingHL" parent="Objects/Room4" index="0" instance=ExtResource("14_u51cf")]
position = Vector2(0, -15)
[node name="ChairL" parent="Objects/Room4" index="1" instance=ExtResource("11_7c6gx")]
position = Vector2(-70, 20)
[node name="FlaskS1" parent="Objects/Room4" index="2" instance=ExtResource("16_v8xjl")]
position = Vector2(-87, 10)
[node name="FlaskS2" parent="Objects/Room4" index="3" instance=ExtResource("16_v8xjl")]
position = Vector2(-78, 10)
[node name="FlaskS3" parent="Objects/Room4" index="4" instance=ExtResource("16_v8xjl")]
position = Vector2(-83, 10)
[node name="TableS" parent="Objects/Room4" index="5" instance=ExtResource("15_cys5i")]
position = Vector2(-80, 25)
[node name="Room5" type="Node2D" parent="Objects" index="4"]
position = Vector2(1073, 410)
[node name="PaintingVL1" parent="Objects/Room5" index="0" instance=ExtResource("16_ddwrs")]
position = Vector2(-63, -12)
[node name="PaintingVL2" parent="Objects/Room5" index="1" instance=ExtResource("16_ddwrs")]
position = Vector2(61, -3)
[node name="PaintingVL3" parent="Objects/Room5" index="2" instance=ExtResource("16_ddwrs")]
position = Vector2(-5, 4)
[node name="Room6" type="Node2D" parent="Objects" index="5"]
position = Vector2(1320, 406)
[node name="Wardrobe" parent="Objects/Room6" index="0" instance=ExtResource("13_7c6gx")]
position = Vector2(-77, 36)
[node name="MirrorS" parent="Objects/Room6" index="1" instance=ExtResource("17_ddwrs")]
position = Vector2(-4, 37)
[node name="Chair" parent="Objects/Room6" index="2" instance=ExtResource("6_go8g1")]
position = Vector2(-42, 44)
[node name="TableS" parent="Objects/Room6" index="3" instance=ExtResource("15_cys5i")]
position = Vector2(-43, 49)
[node name="Cabinet" parent="Objects/Room6" index="4" instance=ExtResource("5_uivyf")]
position = Vector2(32, 47)
[node name="GrayWalls" parent="Tiles" index="0"]
tile_map_data = PackedByteArray("AAD+//T/AAACAAEAAAD+//X/AAACAAEAAAD+//b/AAACAAEAAAD+//f/AAACAAEAAAD+//j/AAACAAEAAAD+//n/AAACAAEAAAD+//r/AAACAAEAAAD+//v/AAACAAEAAAD+//z/AAACAAEAAAD+//3/AAACAAEAAAD+//7/AAACAAEAAAD+////AAACAAEAAAD+/wAAAAACAAEAAAD+/wEAAAACAAEAAAD+/wIAAAACAAEAAAD+/wMAAAACAAEAAAD+/wQAAAACAAEAAAD+/wUAAAACAAEAAAD+/wYAAAACAAEAAAD+/wcAAAACAAEAAAD+/wgAAAACAAEAAAD+/wkAAAACAAEAAAD+/woAAAACAAEAAAD+/wsAAAACAAEAAAABAPT/AAAAAAEAAAABAPX/AAAAAAEAAAABAPb/AAAAAAEAAAABAPf/AAAAAAEAAAABAPj/AAAAAAEAAAABAPn/AAAAAAEAAAABAPr/AAAAAAEAAAABAPv/AAAAAAEAAAABAPz/AAAAAAEAAAABAP3/AAAAAAEAAAABAP7/AAAAAAEAAAABAP//AAAAAAEAAAABAAAAAAAAAAEAAAABAAEAAAAAAAEAAAABAAIAAAAAAAEAAAABAAMAAAAAAAEAAAABAAQAAAAAAAEAAAABAAUAAAAAAAEAAAABAAYAAAAAAAEAAAABAAcAAAAAAAEAAAABAAgAAAAAAAEAAAABAAkAAAAAAAEAAAABAAoAAAAAAAEAAAABAAsAAAAAAAEAAAD8/xAAAAACAAIAAAD8/xQAAAABAAAAAAD9/xQAAAABAAAAAAD+/xQAAAABAAAAAAD//xQAAAABAAAAAAAAABQAAAABAAAAAAABABQAAAABAAAAAAACABQAAAABAAAAAAADABQAAAABAAAAAAAEABQAAAABAAAAAAAFABQAAAABAAAAAAAGABQAAAABAAAAAAAHABQAAAABAAAAAAAIABQAAAABAAAAAAAJABQAAAABAAAAAAAKABQAAAABAAAAAAD8/w8AAAACAAEAAAAVAA8AAAAAAAEAAAAVABAAAAAAAAEAAAAVABEAAAAAAAEAAAAVABIAAAAAAAEAAAAVABMAAAAAAAEAAAALABQAAAABAAAAAAAMABQAAAACAAAAAAASABQAAAAAAAAAAAATABQAAAABAAAAAAAUABQAAAABAAAAAAALABYAAAACAAEAAAALABcAAAACAAEAAAALABgAAAACAAEAAAALABkAAAACAAEAAAALABoAAAACAAEAAAALABsAAAACAAEAAAALABwAAAACAAEAAAAVABQAAAAEAAEAAAAMABUAAAACAAUAAAASABUAAAADAAUAAAALABUAAAADAAAAAAAMAB0AAAABAAAAAAANAB0AAAABAAAAAAAOAB0AAAABAAAAAAAPAB0AAAABAAAAAAAQAB0AAAABAAAAAAARAB0AAAABAAAAAAASAB0AAAABAAAAAAATAB0AAAABAAAAAAAUAB0AAAABAAAAAAAVAB0AAAABAAAAAAAWAB0AAAABAAAAAAAXAB0AAAABAAAAAAAYAB0AAAABAAAAAAAZAB0AAAABAAAAAAAaAB0AAAABAAAAAAAbAB0AAAABAAAAAAAcAB0AAAABAAAAAAAdAB0AAAABAAAAAAALAB0AAAADAAEAAAAeAB0AAAAAAAcAAAAeABwAAAAFAAEAAAAeABsAAAAFAAEAAAAeABoAAAACAAAAAAAaABgAAAAFAAEAAAAaABcAAAACAAEAAAAaABYAAAACAAEAAAAaABUAAAADAAAAAAAbABUAAAABAAIAAAAcABUAAAABAAIAAAAdABUAAAABAAIAAAAeABUAAAABAAIAAAAfABUAAAABAAIAAAAfAB0AAAABAAAAAAAgAB0AAAABAAAAAAAhAB0AAAABAAAAAAAiAB0AAAABAAAAAAAjAB0AAAABAAAAAAAkAB0AAAABAAAAAAAlAB0AAAABAAAAAAAmAB0AAAABAAAAAAAnAB0AAAABAAAAAAAoAB0AAAABAAAAAAAgABUAAAABAAIAAAAhABUAAAABAAIAAAAaABoAAAAAAAIAAAAaABkAAAAGAAEAAAApABgAAAAAAAEAAAApABkAAAAAAAIAAAApAB0AAAABAAAAAAAqAB0AAAABAAAAAAArAB0AAAABAAAAAAAsAB0AAAABAAAAAAAtAB0AAAABAAAAAAAuAB0AAAABAAAAAAAvAB0AAAABAAAAAAAwAB0AAAABAAAAAAAxAB0AAAABAAAAAAAyAB0AAAABAAAAAAAzAB0AAAABAAAAAAA0AB0AAAABAAAAAAA1AB0AAAABAAAAAAA2AB0AAAABAAAAAAA3AB0AAAABAAAAAAA4AB0AAAABAAAAAAA5AB0AAAABAAAAAAA6AB0AAAABAAAAAAA7AB0AAAACAAQAAAAqABkAAAABAAIAAAArABkAAAABAAIAAAAsABkAAAABAAIAAAAtABkAAAABAAIAAAAuABkAAAABAAIAAAAvABkAAAABAAIAAAAwABkAAAABAAIAAAAxABkAAAABAAIAAAAyABkAAAABAAIAAAAzABkAAAABAAIAAAA0ABkAAAABAAIAAAA1ABkAAAABAAIAAAA2ABkAAAABAAIAAAA3ABkAAAABAAIAAAA4ABkAAAABAAIAAAA5ABkAAAABAAIAAAA6ABkAAAABAAIAAAA7ABkAAAACAAIAAAA7ABgAAAACAAEAAABLAB0AAAABAAAAAABMAB0AAAABAAAAAABNAB0AAAABAAAAAABOAB0AAAABAAAAAABPAB0AAAABAAAAAABQAB0AAAABAAAAAABRAB0AAAABAAAAAABSAB0AAAABAAAAAABTAB0AAAABAAAAAABUAB0AAAABAAAAAABKAB0AAAADAAQAAABKAB4AAAAAAAEAAABKAB8AAAAAAAEAAABKACAAAAAAAAEAAABKACEAAAAAAAEAAAA7AB4AAAACAAEAAAA7AB8AAAACAAEAAAA7ACAAAAACAAEAAAA7ACEAAAACAAEAAAA8ACEAAAABAAIAAAA9ACEAAAABAAIAAAA+ACEAAAABAAIAAAA/ACEAAAABAAIAAABAACEAAAABAAIAAABBACEAAAABAAIAAABCACEAAAABAAIAAABDACEAAAABAAIAAABEACEAAAABAAIAAABFACEAAAABAAIAAABGACEAAAABAAIAAABHACEAAAABAAIAAABIACEAAAABAAIAAABJACEAAAABAAIAAABVAB0AAAABAAAAAABWAB0AAAABAAAAAABXAB0AAAACAAQAAABaAB0AAAAAAAEAAABaABwAAAAAAAEAAABaABsAAAAAAAEAAABaABoAAAAAAAEAAABaABkAAAAAAAEAAABaABgAAAAAAAEAAABaAB4AAAAAAAEAAABaAB8AAAAAAAEAAABaACAAAAAAAAEAAABaACEAAAAAAAEAAABaACIAAAAAAAEAAABaACMAAAAAAAEAAABaACQAAAAAAAEAAABaACUAAAAAAAEAAABaACYAAAAAAAEAAABaACcAAAAAAAEAAABaACgAAAAAAAEAAABaACkAAAAAAAEAAABaACoAAAAAAAEAAABXAB4AAAACAAEAAABXAB8AAAACAAEAAABXACAAAAACAAEAAABXACEAAAACAAEAAABXACIAAAACAAEAAABXACMAAAACAAEAAABXACQAAAACAAEAAABXACUAAAACAAEAAABXACYAAAACAAEAAABXACcAAAACAAEAAABXACgAAAACAAEAAABXACkAAAACAAEAAABXACoAAAACAAEAAABXACsAAAACAAEAAABXACwAAAACAAEAAABXAC0AAAACAAEAAABXAC4AAAACAAEAAABXAC8AAAACAAEAAABXADAAAAACAAEAAABXADEAAAACAAEAAABXADIAAAACAAEAAABXADMAAAACAAEAAABXADQAAAACAAEAAABaACsAAAAAAAEAAABaACwAAAAAAAEAAABaAC0AAAAAAAEAAABaAC4AAAAAAAEAAABaAC8AAAAAAAEAAABaADAAAAAAAAEAAABaADEAAAAAAAEAAABaADIAAAAAAAEAAABaADMAAAAAAAEAAABaADQAAAAAAAEAAAA=")
[node name="BlackWalls" parent="Tiles" index="1"]
tile_map_data = PackedByteArray("AAANABQAAAABAAAAAAAOABQAAAABAAAAAAAPABQAAAABAAAAAAAQABQAAAABAAAAAAARABQAAAABAAAAAAANABUAAAABAAIAAAAOABUAAAABAAIAAAAPABUAAAABAAIAAAAQABUAAAABAAIAAAARABUAAAABAAIAAABYAB0AAAABAAAAAABZAB0AAAABAAAAAAA=")
[node name="WhiteWalls" parent="Tiles" index="2"]
tile_map_data = PackedByteArray("AAD8/wwAAAADAAAAAAD9/wwAAAABAAIAAAD8/w0AAAACAAEAAAD8/w4AAAACAAEAAAACAAwAAAABAAIAAAADAAwAAAABAAIAAAAEAAwAAAABAAIAAAAFAAwAAAABAAIAAAAGAAwAAAABAAIAAAAHAAwAAAABAAIAAAAIAAwAAAABAAIAAAAJAAwAAAABAAcAAAAJAA0AAAAGAAEAAAAJAA4AAAAGAAEAAAAJAA8AAAAGAAEAAAAJABAAAAAGAAEAAAAJABEAAAAGAAEAAAAJABIAAAAGAAEAAAAKAAwAAAABAAIAAAALAAwAAAABAAIAAAAMAAwAAAABAAIAAAANAAwAAAABAAIAAAAOAAwAAAABAAIAAAAPAAwAAAABAAIAAAAQAAwAAAABAAIAAAARAAwAAAABAAIAAAASAAwAAAABAAIAAAATAAwAAAABAAIAAAAUAAwAAAABAAIAAAAVAAwAAAAEAAAAAAAVAA0AAAAAAAEAAAAVAA4AAAAAAAEAAAAJABMAAAAGAAEAAAATABUAAAABAAIAAAAUABUAAAABAAIAAAAVABUAAAABAAIAAAAWABUAAAABAAIAAAAXABUAAAABAAIAAAAYABUAAAABAAIAAAAZABUAAAABAAIAAAAaABUAAAAEAAAAAAAaABcAAAAAAAEAAAAaABYAAAAAAAEAAAAiABUAAAABAAIAAAAjABUAAAABAAIAAAAkABUAAAABAAIAAAAlABUAAAABAAIAAAAmABUAAAABAAIAAAAnABUAAAABAAIAAAAoABUAAAABAAIAAAAaABoAAAADAAEAAAAbABoAAAAEAAIAAAAcABoAAAAEAAIAAAAdABoAAAAEAAIAAAAeABoAAAAEAAAAAAApABUAAAAEAAAAAAApABYAAAAAAAEAAAApABcAAAAAAAEAAAA7ABcAAAACAAEAAAA7ABYAAAACAAEAAAA7ABUAAAADAAAAAAA8ABUAAAABAAIAAAA9ABUAAAABAAIAAAA+ABUAAAABAAIAAAA/ABUAAAABAAIAAABAABUAAAABAAIAAABBABUAAAABAAIAAABCABUAAAABAAIAAABDABUAAAABAAIAAABEABUAAAABAAIAAABFABUAAAABAAIAAABGABUAAAABAAIAAABHABUAAAABAAIAAABIABUAAAABAAIAAABJABUAAAABAAIAAABLABUAAAABAAIAAABMABUAAAABAAIAAABNABUAAAABAAIAAABOABUAAAABAAIAAABPABUAAAABAAIAAABQABUAAAABAAIAAABRABUAAAABAAIAAABSABUAAAABAAIAAABTABUAAAABAAIAAABUABUAAAABAAIAAABVABUAAAABAAIAAABWABUAAAABAAIAAABXABUAAAABAAIAAABYABUAAAABAAIAAABZABUAAAABAAIAAAA8AB0AAAABAAAAAAA9AB0AAAABAAAAAAA+AB0AAAABAAAAAAA/AB0AAAABAAAAAABAAB0AAAABAAAAAABBAB0AAAABAAAAAABCAB0AAAABAAAAAABDAB0AAAABAAAAAABEAB0AAAABAAAAAABFAB0AAAABAAAAAABGAB0AAAABAAAAAABHAB0AAAABAAAAAABIAB0AAAABAAAAAABJAB0AAAABAAAAAABKABYAAAAGAAEAAABKABcAAAAGAAEAAABKABgAAAAGAAEAAABKABkAAAAGAAEAAABKABoAAAAGAAEAAABKABsAAAAGAAEAAABKABwAAAAGAAEAAABaABcAAAAAAAEAAABaABYAAAAAAAEAAABaABUAAAAEAAAAAABKABUAAAABAAcAAAABAAwAAAAAAAIAAAD+/wwAAAACAAIAAAA=")
[node name="Traps" parent="Tiles" index="3"]
tile_map_data = PackedByteArray("AAA8AB8AAAAAAAAAAAA9AB8AAAAAAAAAAAA+AB8AAAAAAAAAAAA/AB8AAAAAAAAAAABAAB8AAAAAAAAAAABBAB8AAAAAAAAAAABCAB8AAAAAAAAAAABDAB8AAAAAAAAAAABEAB8AAAAAAAAAAABFAB8AAAAAAAAAAABGAB8AAAAAAAAAAABHAB8AAAAAAAAAAABIAB8AAAAAAAAAAABJAB8AAAAAAAAAAAA8ACAAAAAAAAEAAAA9ACAAAAAAAAEAAAA+ACAAAAAAAAEAAAA/ACAAAAAAAAEAAABAACAAAAAAAAEAAABBACAAAAAAAAEAAABCACAAAAAAAAEAAABDACAAAAAAAAEAAABEACAAAAAAAAEAAABFACAAAAAAAAEAAABGACAAAAAAAAEAAABHACAAAAAAAAEAAABIACAAAAAAAAEAAABJACAAAAAAAAEAAABJACEAAAAAAAEAAABIACEAAAAAAAEAAABHACEAAAAAAAEAAABGACEAAAAAAAEAAABFACEAAAAAAAEAAABEACEAAAAAAAEAAABDACEAAAAAAAEAAABCACEAAAAAAAEAAABBACEAAAAAAAEAAABAACEAAAAAAAEAAAA/ACEAAAAAAAEAAAA+ACEAAAAAAAEAAAA9ACEAAAAAAAEAAAA8ACEAAAAAAAEAAAA=")
[node name="LevelEnd" parent="." index="7"]
position = Vector2(1424, 602)
File diff suppressed because one or more lines are too long
+13
View File
@@ -0,0 +1,13 @@
class_name CLevelManager
extends Node
@export var levels : Array[PackedScene] = []
var current_level_index := 0
func _ready() -> void:
levels = levels.filter(func(item: PackedScene) -> bool: return item != null)
+1
View File
@@ -0,0 +1 @@
uid://w4ofprtn7lu8
+10
View File
@@ -0,0 +1,10 @@
[gd_scene load_steps=5 format=3 uid="uid://b2rgtl2dyorip"]
[ext_resource type="Script" uid="uid://w4ofprtn7lu8" path="res://game/managers/level_manager.gd" id="1_te7jw"]
[ext_resource type="PackedScene" uid="uid://dlpi1ptis3wna" path="res://game/levels/level_1.tscn" id="2_r84xe"]
[ext_resource type="PackedScene" uid="uid://cc06c06hlv7ix" path="res://game/levels/level_2.tscn" id="3_yl05u"]
[ext_resource type="PackedScene" uid="uid://ungdvjmfc6v7" path="res://game/levels/level_3.tscn" id="4_eo2u3"]
[node name="LevelManager" type="Node"]
script = ExtResource("1_te7jw")
levels = Array[PackedScene]([ExtResource("2_r84xe"), ExtResource("3_yl05u"), ExtResource("4_eo2u3")])
+5 -11
View File
@@ -7,15 +7,8 @@ extends Control
@onready var focus_timer : Timer = $FocusTimer
func _get_next_level(remove := false) -> PackedScene:
if not get_tree().has_meta(AbstractLevel.NEXT_LEVEL_META): return null
var next_level : PackedScene = get_tree().get_meta(AbstractLevel.NEXT_LEVEL_META)
if remove:
get_tree().remove_meta(AbstractLevel.NEXT_LEVEL_META)
return next_level
func _is_last_level() -> bool:
return LevelManager.current_level_index >= (LevelManager.levels.size() - 1)
func _on_gui_focus_changed(_node: Control) -> void:
@@ -25,7 +18,8 @@ func _on_gui_focus_changed(_node: Control) -> void:
func _on_next_level_button_pressed() -> void:
SoundManager.play_ui_stream(SoundManager.ui_stream_accept)
get_tree().paused = false
get_tree().change_scene_to_packed(_get_next_level(true))
LevelManager.current_level_index += 1
get_tree().change_scene_to_packed(LevelManager.levels[LevelManager.current_level_index])
func _on_main_menu_button_pressed() -> void:
@@ -37,7 +31,7 @@ func _on_main_menu_button_pressed() -> void:
func _on_visibility_changed() -> void:
if not is_node_ready(): return
if visible:
next_level_button.visible = _get_next_level() != null
next_level_button.visible = not _is_last_level()
focus_timer.start()
get_viewport().gui_focus_changed.connect(_on_gui_focus_changed)
else:
+5 -12
View File
@@ -2,18 +2,12 @@ class_name LevelSelection
extends Control
@export var levels : Array[PackedScene] = []
@onready var grid : GridContainer = $%GridContainer
func _ready() -> void:
levels = levels.filter(func(item: PackedScene) -> bool: return item != null)
for i in range(levels.size()):
var level := levels[i]
var next_level := levels[i+1] if i+1 < levels.size() else null
for i in range(LevelManager.levels.size()):
var level := LevelManager.levels[i]
var disable := SaveManager.completed_levels < i
var button : Button = Button.new()
@@ -21,7 +15,7 @@ func _ready() -> void:
button.disabled = disable
button.focus_mode = Control.FOCUS_NONE if disable else Control.FOCUS_ALL
grid.add_child(button)
button.pressed.connect(_on_level_selected.bind(i, level, next_level))
button.pressed.connect(_on_level_selected.bind(i, level))
if i == 0:
button.grab_focus()
@@ -33,10 +27,9 @@ func _on_gui_focus_changed(_node: Control) -> void:
SoundManager.play_ui_stream(SoundManager.ui_stream_select)
func _on_level_selected(index: int, level: PackedScene, next_level: PackedScene) -> void:
func _on_level_selected(index: int, level: PackedScene) -> void:
SoundManager.play_ui_stream(SoundManager.ui_stream_accept)
get_tree().set_meta(AbstractLevel.CURRENT_LEVEL_INDEX, index)
get_tree().set_meta(AbstractLevel.NEXT_LEVEL_META, next_level)
LevelManager.current_level_index = index
get_tree().change_scene_to_packed(level)
+5 -2
View File
@@ -1,8 +1,11 @@
[gd_scene load_steps=6 format=3 uid="uid://cdw72hewwmypn"]
[gd_scene load_steps=9 format=3 uid="uid://cdw72hewwmypn"]
[ext_resource type="Theme" uid="uid://bh56my8b2htnr" path="res://themes/menu.tres" id="1_5cn0b"]
[ext_resource type="Script" uid="uid://47impoi24o7g" path="res://game/menu/level_selection.gd" id="1_fb5q3"]
[ext_resource type="PackedScene" uid="uid://bmn74wc2vophn" path="res://game/levels/test_level.tscn" id="3_3oqjo"]
[ext_resource type="PackedScene" uid="uid://dlpi1ptis3wna" path="res://game/levels/level_1.tscn" id="3_n2wmw"]
[ext_resource type="PackedScene" uid="uid://cc06c06hlv7ix" path="res://game/levels/level_2.tscn" id="4_0qtcq"]
[ext_resource type="PackedScene" uid="uid://ungdvjmfc6v7" path="res://game/levels/level_3.tscn" id="5_yk0t5"]
[sub_resource type="InputEventAction" id="InputEventAction_3oqjo"]
action = &"ui_cancel"
@@ -19,7 +22,7 @@ grow_horizontal = 2
grow_vertical = 2
theme = ExtResource("1_5cn0b")
script = ExtResource("1_fb5q3")
levels = Array[PackedScene]([ExtResource("3_3oqjo"), ExtResource("3_3oqjo")])
levels = Array[PackedScene]([ExtResource("3_n2wmw"), ExtResource("4_0qtcq"), ExtResource("5_yk0t5"), ExtResource("3_3oqjo")])
[node name="MarginContainer" type="MarginContainer" parent="."]
layout_mode = 1
+1 -1
View File
@@ -4,7 +4,7 @@
[sub_resource type="AtlasTexture" id="AtlasTexture_opqiy"]
atlas = ExtResource("1_nvgb0")
region = Rect2(48, 0, 16, 32)
region = Rect2(144, 0, 16, 32)
[node name="Bookstand" type="Node2D"]
+1 -1
View File
@@ -4,7 +4,7 @@
[sub_resource type="AtlasTexture" id="AtlasTexture_sqimt"]
atlas = ExtResource("1_57t4w")
region = Rect2(128, 32, 32, 32)
region = Rect2(160, 0, 32, 32)
[node name="Cabinet" type="Node2D"]
+12
View File
@@ -0,0 +1,12 @@
[gd_scene load_steps=3 format=3 uid="uid://dwnalr4rphui0"]
[ext_resource type="Texture2D" uid="uid://ddm4gc2g3aj2i" path="res://images/level/objects.png" id="1_3rimp"]
[sub_resource type="AtlasTexture" id="AtlasTexture_ajme5"]
atlas = ExtResource("1_3rimp")
region = Rect2(48, 128, 16, 16)
[node name="Candle" type="Node2D"]
[node name="Sprite2D" type="Sprite2D" parent="."]
texture = SubResource("AtlasTexture_ajme5")
+12
View File
@@ -0,0 +1,12 @@
[gd_scene load_steps=3 format=3 uid="uid://dbj2f8kpwb8uh"]
[ext_resource type="Texture2D" uid="uid://ddm4gc2g3aj2i" path="res://images/level/objects.png" id="1_epbkb"]
[sub_resource type="AtlasTexture" id="AtlasTexture_w5fvp"]
atlas = ExtResource("1_epbkb")
region = Rect2(64, 128, 16, 16)
[node name="Candles" type="Node2D"]
[node name="Sprite2D" type="Sprite2D" parent="."]
texture = SubResource("AtlasTexture_w5fvp")
+12
View File
@@ -0,0 +1,12 @@
[gd_scene load_steps=3 format=3 uid="uid://btpkbyyteewsh"]
[ext_resource type="Texture2D" uid="uid://ddm4gc2g3aj2i" path="res://images/level/objects.png" id="1_e7ewy"]
[sub_resource type="AtlasTexture" id="AtlasTexture_ea7rc"]
atlas = ExtResource("1_e7ewy")
region = Rect2(112, 32, 16, 32)
[node name="ChairB" type="Node2D"]
[node name="Sprite2D" type="Sprite2D" parent="."]
texture = SubResource("AtlasTexture_ea7rc")
@@ -4,9 +4,9 @@
[sub_resource type="AtlasTexture" id="AtlasTexture_1kw05"]
atlas = ExtResource("1_rse2u")
region = Rect2(176, 0, 16, 32)
region = Rect2(112, 0, 16, 32)
[node name="Chair" type="Node2D"]
[node name="ChairF" type="Node2D"]
[node name="Sprite2D" type="Sprite2D" parent="."]
texture = SubResource("AtlasTexture_1kw05")
+12
View File
@@ -0,0 +1,12 @@
[gd_scene load_steps=3 format=3 uid="uid://x82wjrsqdfd"]
[ext_resource type="Texture2D" uid="uid://ddm4gc2g3aj2i" path="res://images/level/objects.png" id="1_xguce"]
[sub_resource type="AtlasTexture" id="AtlasTexture_cktuf"]
atlas = ExtResource("1_xguce")
region = Rect2(128, 0, 16, 32)
[node name="ChairL" type="Node2D"]
[node name="Sprite2D" type="Sprite2D" parent="."]
texture = SubResource("AtlasTexture_cktuf")
+12
View File
@@ -0,0 +1,12 @@
[gd_scene load_steps=3 format=3 uid="uid://b6wgujelmka5p"]
[ext_resource type="Texture2D" uid="uid://ddm4gc2g3aj2i" path="res://images/level/objects.png" id="1_e7ewy"]
[sub_resource type="AtlasTexture" id="AtlasTexture_e7ewy"]
atlas = ExtResource("1_e7ewy")
region = Rect2(128, 32, 16, 32)
[node name="ChairR" type="Node2D"]
[node name="Sprite2D" type="Sprite2D" parent="."]
texture = SubResource("AtlasTexture_e7ewy")
+12
View File
@@ -0,0 +1,12 @@
[gd_scene load_steps=3 format=3 uid="uid://d3m8kf7lqmyb8"]
[ext_resource type="Texture2D" uid="uid://ddm4gc2g3aj2i" path="res://images/level/objects.png" id="1_x6vix"]
[sub_resource type="AtlasTexture" id="AtlasTexture_i1pbn"]
atlas = ExtResource("1_x6vix")
region = Rect2(64, 64, 16, 16)
[node name="FlaskL" type="Node2D"]
[node name="Sprite2D" type="Sprite2D" parent="."]
texture = SubResource("AtlasTexture_i1pbn")
+12
View File
@@ -0,0 +1,12 @@
[gd_scene load_steps=3 format=3 uid="uid://bt4smb361amjj"]
[ext_resource type="Texture2D" uid="uid://ddm4gc2g3aj2i" path="res://images/level/objects.png" id="1_05y3q"]
[sub_resource type="AtlasTexture" id="AtlasTexture_wg65s"]
atlas = ExtResource("1_05y3q")
region = Rect2(48, 64, 16, 16)
[node name="FlaskS" type="Node2D"]
[node name="Sprite2D" type="Sprite2D" parent="."]
texture = SubResource("AtlasTexture_wg65s")
+12
View File
@@ -0,0 +1,12 @@
[gd_scene load_steps=3 format=3 uid="uid://xny1x7me75gc"]
[ext_resource type="Texture2D" uid="uid://ddm4gc2g3aj2i" path="res://images/level/objects.png" id="1_xsvl5"]
[sub_resource type="AtlasTexture" id="AtlasTexture_nypty"]
atlas = ExtResource("1_xsvl5")
region = Rect2(144, 64, 32, 16)
[node name="MirrorL" type="Node2D"]
[node name="Sprite2D" type="Sprite2D" parent="."]
texture = SubResource("AtlasTexture_nypty")
+12
View File
@@ -0,0 +1,12 @@
[gd_scene load_steps=3 format=3 uid="uid://bmx60xftq8f2v"]
[ext_resource type="Texture2D" uid="uid://ddm4gc2g3aj2i" path="res://images/level/objects.png" id="1_vvvt3"]
[sub_resource type="AtlasTexture" id="AtlasTexture_7fxax"]
atlas = ExtResource("1_vvvt3")
region = Rect2(144, 48, 16, 16)
[node name="MirrorS" type="Node2D"]
[node name="Sprite2D" type="Sprite2D" parent="."]
texture = SubResource("AtlasTexture_7fxax")
+1 -1
View File
@@ -4,7 +4,7 @@
[sub_resource type="AtlasTexture" id="AtlasTexture_hq5lq"]
atlas = ExtResource("1_v74mh")
region = Rect2(96, 0, 32, 48)
region = Rect2(80, 0, 32, 48)
[node name="PaintingVL" type="Node2D"]
+1 -1
View File
@@ -4,7 +4,7 @@
[sub_resource type="AtlasTexture" id="AtlasTexture_0ynw1"]
atlas = ExtResource("1_1hdr2")
region = Rect2(64, 0, 32, 32)
region = Rect2(48, 0, 32, 32)
[node name="PaintingVS" type="Node2D"]
+12
View File
@@ -0,0 +1,12 @@
[gd_scene load_steps=3 format=3 uid="uid://c6qy8uybkn4x"]
[ext_resource type="Texture2D" uid="uid://ddm4gc2g3aj2i" path="res://images/level/objects.png" id="1_wkk58"]
[sub_resource type="AtlasTexture" id="AtlasTexture_q70ul"]
atlas = ExtResource("1_wkk58")
region = Rect2(144, 32, 16, 16)
[node name="Plate" type="Node2D"]
[node name="Sprite2D" type="Sprite2D" parent="."]
texture = SubResource("AtlasTexture_q70ul")
+12
View File
@@ -0,0 +1,12 @@
[gd_scene load_steps=3 format=3 uid="uid://thggjfcrcjq6"]
[ext_resource type="Texture2D" uid="uid://ddm4gc2g3aj2i" path="res://images/level/objects.png" id="1_xsq2h"]
[sub_resource type="AtlasTexture" id="AtlasTexture_hbatg"]
atlas = ExtResource("1_xsq2h")
region = Rect2(64, 80, 16, 16)
[node name="RedortEndL" type="Node2D"]
[node name="Sprite2D" type="Sprite2D" parent="."]
texture = SubResource("AtlasTexture_hbatg")
+12
View File
@@ -0,0 +1,12 @@
[gd_scene load_steps=3 format=3 uid="uid://cpvsevdfmecrq"]
[ext_resource type="Texture2D" uid="uid://ddm4gc2g3aj2i" path="res://images/level/objects.png" id="1_ibloa"]
[sub_resource type="AtlasTexture" id="AtlasTexture_2d2yp"]
atlas = ExtResource("1_ibloa")
region = Rect2(48, 80, 16, 16)
[node name="RetortEndR" type="Node2D"]
[node name="Sprite2D" type="Sprite2D" parent="."]
texture = SubResource("AtlasTexture_2d2yp")
+12
View File
@@ -0,0 +1,12 @@
[gd_scene load_steps=3 format=3 uid="uid://bvbjd5l447qjy"]
[ext_resource type="Texture2D" uid="uid://ddm4gc2g3aj2i" path="res://images/level/objects.png" id="1_u1d6f"]
[sub_resource type="AtlasTexture" id="AtlasTexture_8epgq"]
atlas = ExtResource("1_u1d6f")
region = Rect2(160, 176, 32, 16)
[node name="RetortL" type="Node2D"]
[node name="Sprite2D" type="Sprite2D" parent="."]
texture = SubResource("AtlasTexture_8epgq")
+12
View File
@@ -0,0 +1,12 @@
[gd_scene load_steps=3 format=3 uid="uid://b0uy410hvlosm"]
[ext_resource type="Texture2D" uid="uid://ddm4gc2g3aj2i" path="res://images/level/objects.png" id="1_gohft"]
[sub_resource type="AtlasTexture" id="AtlasTexture_f54r7"]
atlas = ExtResource("1_gohft")
region = Rect2(160, 160, 32, 16)
[node name="RetortR" type="Node2D"]
[node name="Sprite2D" type="Sprite2D" parent="."]
texture = SubResource("AtlasTexture_f54r7")
+12
View File
@@ -0,0 +1,12 @@
[gd_scene load_steps=3 format=3 uid="uid://b1cq0uor2sk6k"]
[ext_resource type="Texture2D" uid="uid://ddm4gc2g3aj2i" path="res://images/level/objects.png" id="1_ftoqg"]
[sub_resource type="AtlasTexture" id="AtlasTexture_l7gad"]
atlas = ExtResource("1_ftoqg")
region = Rect2(80, 160, 80, 32)
[node name="TableL" type="Node2D"]
[node name="Sprite2D" type="Sprite2D" parent="."]
texture = SubResource("AtlasTexture_l7gad")
@@ -4,9 +4,9 @@
[sub_resource type="AtlasTexture" id="AtlasTexture_runce"]
atlas = ExtResource("1_qacj7")
region = Rect2(128, 0, 48, 32)
region = Rect2(112, 128, 48, 32)
[node name="Table" type="Node2D"]
[node name="TableM" type="Node2D"]
[node name="Sprite2D" type="Sprite2D" parent="."]
texture = SubResource("AtlasTexture_runce")
+12
View File
@@ -0,0 +1,12 @@
[gd_scene load_steps=3 format=3 uid="uid://baqawh1drerhk"]
[ext_resource type="Texture2D" uid="uid://ddm4gc2g3aj2i" path="res://images/level/objects.png" id="1_qacj7"]
[sub_resource type="AtlasTexture" id="AtlasTexture_n2itf"]
atlas = ExtResource("1_qacj7")
region = Rect2(80, 128, 32, 32)
[node name="TableS" type="Node2D"]
[node name="Sprite2D" type="Sprite2D" parent="."]
texture = SubResource("AtlasTexture_n2itf")
+1 -1
View File
@@ -4,7 +4,7 @@
[sub_resource type="AtlasTexture" id="AtlasTexture_n5v8r"]
atlas = ExtResource("1_ct7ib")
region = Rect2(128, 128, 32, 16)
region = Rect2(160, 128, 32, 16)
[node name="ArrowLeft" type="Node2D"]
+1 -1
View File
@@ -4,7 +4,7 @@
[sub_resource type="AtlasTexture" id="AtlasTexture_r0fup"]
atlas = ExtResource("1_gvebv")
region = Rect2(160, 128, 32, 16)
region = Rect2(160, 144, 32, 16)
[node name="ArrowRight" type="Node2D"]
+1 -1
View File
@@ -4,7 +4,7 @@
[sub_resource type="AtlasTexture" id="AtlasTexture_lviuj"]
atlas = ExtResource("1_t6r5l")
region = Rect2(48, 64, 32, 32)
region = Rect2(0, 128, 48, 32)
[node name="SwitchKbd" type="Node2D"]
Binary file not shown.
Binary file not shown.
Binary file not shown.
+40
View File
@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://d3346lrt1c1oh"
path="res://.godot/imported/outdoor.png-8c11c7e57eb29cedb0c45abee2e6c93a.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://images/level/outdoor.png"
dest_files=["res://.godot/imported/outdoor.png-8c11c7e57eb29cedb0c45abee2e6c93a.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
+2 -2
View File
@@ -21,6 +21,7 @@ config/icon="res://icon.svg"
SettingsManager="*res://game/managers/settings_manager.tscn"
SoundManager="*res://game/managers/sound_manager.tscn"
SaveManager="*res://game/managers/save_manager.tscn"
LevelManager="*res://game/managers/level_manager.tscn"
[debug]
@@ -124,8 +125,7 @@ jump={
}
switch_color={
"deadzone": 0.2,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":81,"key_label":0,"unicode":113,"location":0,"echo":false,"script":null)
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194326,"key_label":0,"unicode":0,"location":2,"echo":false,"script":null)
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194325,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":9,"pressure":0.0,"pressed":true,"script":null)
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":10,"pressure":0.0,"pressed":true,"script":null)
]