Added level 4

This commit is contained in:
2026-01-10 02:48:25 +03:00
parent f7197d8f2a
commit be040a79c0
16 changed files with 519 additions and 9 deletions
+2
View File
@@ -115,6 +115,7 @@ func _physics_process(delta: float) -> void:
_update_x_velocity(DIRECTION_RIGHT, MAX_WALK_SPEED, delta)
_check_wall_collision_and_switch_state(DIRECTION_RIGHT)
State.LookAround:
_update_x_velocity(0, MAX_WALK_SPEED * 2, delta)
if not _target_found:
var close_rays : Array[RayCast2D] = [left_player_close_ray, right_player_close_ray]
_target_found = _process_player_rays(close_rays)
@@ -144,6 +145,7 @@ func _set_state(value: State) -> void:
func _process_player_ray(ray: RayCast2D) -> bool:
if ray.is_colliding():
ray.force_raycast_update()
var collider := ray.get_collider()
if collider is Player:
_target_x = collider.position.x
+3
View File
@@ -441,6 +441,7 @@ shape = SubResource("CapsuleShape2D_mocsw")
[node name="PlayerKiller" parent="." instance=ExtResource("4_vecdo")]
[node name="WallCheck" type="Node2D" parent="."]
position = Vector2(0, 9)
[node name="LeftWallRay" type="RayCast2D" parent="WallCheck"]
unique_name_in_owner = true
@@ -451,6 +452,7 @@ unique_name_in_owner = true
target_position = Vector2(16, 0)
[node name="PlayerCloseCheck" type="Node2D" parent="."]
position = Vector2(0, 9)
[node name="LeftPlayerCloseRay" type="RayCast2D" parent="PlayerCloseCheck"]
unique_name_in_owner = true
@@ -463,6 +465,7 @@ target_position = Vector2(48, 0)
collision_mask = 0
[node name="PlayerDistantCheck" type="Node2D" parent="."]
position = Vector2(0, 9)
[node name="LeftPlayerDistantRay" type="RayCast2D" parent="PlayerDistantCheck"]
unique_name_in_owner = true
+1
View File
@@ -16,6 +16,7 @@ func _can_open(body: Node2D) -> bool:
for pickup in body.get_node("Pickups").get_children():
if _is_key(pickup):
SoundManager.play_sfx_stream(SoundManager.sfx_stream_door_unlocking, global_position)
body.remove_pickup(pickup)
_unlocked = true
return true
+1 -1
View File
@@ -2,7 +2,7 @@ class_name AbstractLevel
extends Node2D
@export var player_falling_at_start: bool = false
@export var player_falling_at_start: bool = true
@onready var player : Player = $Player
+1
View File
@@ -57,6 +57,7 @@ physics_layer_0/collision_mask = 0
sources/0 = SubResource("TileSetAtlasSource_4ocoy")
[node name="Level1" instance=ExtResource("1_15okj")]
player_falling_at_start = false
[node name="OutdoorDoor" parent="Doors" index="0" instance=ExtResource("2_4ocoy")]
position = Vector2(-363, -8)
-1
View File
@@ -21,7 +21,6 @@
[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="LockedDoor" parent="Doors" index="0" instance=ExtResource("2_iakit")]
position = Vector2(-48, 296)
-1
View File
@@ -23,7 +23,6 @@
[ext_resource type="PackedScene" uid="uid://c6qy8uybkn4x" path="res://game/objects/plate.tscn" id="20_b1jnq"]
[node name="Level3" instance=ExtResource("1_4awbs")]
player_falling_at_start = true
[node name="Room1Door" parent="Doors" index="0" instance=ExtResource("2_rvmgs")]
position = Vector2(336, 440)
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+4 -2
View File
@@ -1,10 +1,12 @@
[gd_scene load_steps=5 format=3 uid="uid://b2rgtl2dyorip"]
[gd_scene load_steps=7 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"]
[ext_resource type="PackedScene" uid="uid://cmp1cog2cbfh5" path="res://game/levels/level_4.tscn" id="5_yl05u"]
[ext_resource type="PackedScene" uid="uid://brysu1p6fw88n" path="res://game/levels/level_5.tscn" id="6_eo2u3"]
[node name="LevelManager" type="Node"]
script = ExtResource("1_te7jw")
levels = Array[PackedScene]([ExtResource("2_r84xe"), ExtResource("3_yl05u"), ExtResource("4_eo2u3")])
levels = Array[PackedScene]([ExtResource("2_r84xe"), ExtResource("3_yl05u"), ExtResource("4_eo2u3"), ExtResource("5_yl05u"), ExtResource("6_eo2u3")])
+1 -1
View File
@@ -149,7 +149,7 @@ func _apply_window_scale() -> void:
DisplayServer.window_set_size(new_size)
DisplayServer.window_set_position(new_position)
_ensure_window_on_screen()
#_ensure_window_on_screen()
func _ensure_window_on_screen() -> void:
+1
View File
@@ -29,6 +29,7 @@ const MUSIC_BUS = "Music"
@export var sfx_stream_door_closing : AudioStream
@export var sfx_stream_door_locked : AudioStream
@export var sfx_stream_door_opening : AudioStream
@export var sfx_stream_door_unlocking : AudioStream
@export var sfx_stream_jump : AudioStream
@export var sfx_stream_key_picked_up : AudioStream
@export var sfx_stream_level_completed : AudioStream
+3 -1
View File
@@ -1,4 +1,4 @@
[gd_scene load_steps=16 format=3 uid="uid://drk4dvbn78dva"]
[gd_scene load_steps=17 format=3 uid="uid://drk4dvbn78dva"]
[ext_resource type="Script" uid="uid://cx5qcukr66whc" path="res://game/managers/sound_manager.gd" id="1_cg0sy"]
[ext_resource type="AudioStream" uid="uid://d2suvaisb6w45" path="res://sound/ui/accept.wav" id="2_ge1il"]
@@ -15,6 +15,7 @@
[ext_resource type="AudioStream" uid="uid://2spbxv7pwkmb" path="res://sound/sfx/door_opening.wav" id="8_ounmg"]
[ext_resource type="AudioStream" uid="uid://txk8dq16levc" path="res://sound/sfx/key_picked_up.wav" id="8_wyfta"]
[ext_resource type="AudioStream" uid="uid://dy7qnen5k20mo" path="res://sound/sfx/player_spoted.wav" id="9_q7cyi"]
[ext_resource type="AudioStream" uid="uid://dg0t7fwu8u3m2" path="res://sound/sfx/door_unlocking.wav" id="10_lqyhh"]
[node name="SoundManager" type="Node"]
process_mode = 3
@@ -33,6 +34,7 @@ sfx_stream_death = ExtResource("5_fpnh3")
sfx_stream_door_closing = ExtResource("7_814q3")
sfx_stream_door_locked = ExtResource("8_lqyhh")
sfx_stream_door_opening = ExtResource("8_ounmg")
sfx_stream_door_unlocking = ExtResource("10_lqyhh")
sfx_stream_jump = ExtResource("6_22ptj")
sfx_stream_key_picked_up = ExtResource("8_wyfta")
sfx_stream_level_completed = ExtResource("7_22ptj")
Binary file not shown.
Binary file not shown.
+24
View File
@@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://dg0t7fwu8u3m2"
path="res://.godot/imported/door_unlocking.wav-453abdf0eede5f166886f9f0fe4235af.sample"
[deps]
source_file="res://sound/sfx/door_unlocking.wav"
dest_files=["res://.godot/imported/door_unlocking.wav-453abdf0eede5f166886f9f0fe4235af.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2