Added level selection

This commit is contained in:
2026-07-01 13:35:27 +03:00
parent 22dfabb57e
commit d9629a0921
21 changed files with 336 additions and 2 deletions
+12
View File
@@ -0,0 +1,12 @@
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://cm1lme51ido64
+8
View File
@@ -0,0 +1,8 @@
[gd_scene format=3 uid="uid://bk2pkmgxsgars"]
[ext_resource type="Script" uid="uid://cm1lme51ido64" path="res://game/managers/level_manager.gd" id="1_te7jw"]
[ext_resource type="PackedScene" uid="uid://cuig5x5fd47hs" path="res://game/levels/test_level.tscn" id="2_ow2rn"]
[node name="LevelManager" type="Node" unique_id=1657502743]
script = ExtResource("1_te7jw")
levels = Array[PackedScene]([ExtResource("2_ow2rn")])
+40
View File
@@ -0,0 +1,40 @@
class_name CSaveManager
extends Node
@export var save_file_path := "user://save.bin"
@export var save_file_pass := "save_file_data"
const CATEGORY_GAME = "game"
const GAME_COMPLETED_LEVELS = "completed_levels"
var completed_levels := 0
var _save_file: ConfigFile
func _ready() -> void:
_save_file = ConfigFile.new()
_load()
func save() -> void:
_save_file.set_value(CATEGORY_GAME, GAME_COMPLETED_LEVELS, completed_levels)
_save_file.save_encrypted_pass(save_file_path, save_file_pass)
func _load() -> void:
if _save_file.load_encrypted_pass(save_file_path, save_file_pass) == OK:
_process_save_file()
save()
func _process_save_file() -> void:
completed_levels = _save_file.get_value(
CATEGORY_GAME, GAME_COMPLETED_LEVELS, completed_levels
)
+1
View File
@@ -0,0 +1 @@
uid://o5dv431ncjlu
+6
View File
@@ -0,0 +1,6 @@
[gd_scene format=3 uid="uid://2pbgcr5yk7iy"]
[ext_resource type="Script" uid="uid://o5dv431ncjlu" path="res://game/managers/save_manager.gd" id="1_c6jim"]
[node name="SaveManager" type="Node" unique_id=352412412]
script = ExtResource("1_c6jim")
+1
View File
@@ -31,6 +31,7 @@ const MUSIC_BUS = "Music"
@export var sfx_stream_game_over : AudioStream
@export var sfx_stream_jump : AudioStream
@export var sfx_stream_land : AudioStream
@export var sfx_stream_level_completed : AudioStream
@export var sfx_stream_swing : AudioStream
@export var sfx_stream_turret_hit : AudioStream
@export var sfx_stream_turret_shot : AudioStream
+2
View File
@@ -13,6 +13,7 @@
[ext_resource type="AudioStream" uid="uid://byn27t4ualxmi" path="res://sound/sfx/danger.wav" id="6_wyfta"]
[ext_resource type="AudioStream" uid="uid://bj6ausg5hyuyg" path="res://sound/sfx/swing.wav" id="7_ab171"]
[ext_resource type="AudioStream" uid="uid://33unutlwsika" path="res://sound/sfx/wall_jump.wav" id="8_22ptj"]
[ext_resource type="AudioStream" uid="uid://mwornwi1s000" path="res://sound/sfx/level_completed.wav" id="12_lqyhh"]
[ext_resource type="AudioStream" uid="uid://bnrvkm5wy8wda" path="res://sound/sfx/turret_shot.wav" id="13_814q3"]
[ext_resource type="AudioStream" uid="uid://8nag1oaly0by" path="res://sound/sfx/turret_hit.wav" id="13_ounmg"]
@@ -35,6 +36,7 @@ sfx_stream_fall = ExtResource("6_q7cyi")
sfx_stream_game_over = ExtResource("6_6ll5c")
sfx_stream_jump = ExtResource("5_fpnh3")
sfx_stream_land = ExtResource("6_22ptj")
sfx_stream_level_completed = ExtResource("12_lqyhh")
sfx_stream_swing = ExtResource("7_ab171")
sfx_stream_turret_hit = ExtResource("13_ounmg")
sfx_stream_turret_shot = ExtResource("13_814q3")