From 22a1ec5ba2ce5a42043a7e546bfc1ad696c7f6e3 Mon Sep 17 00:00:00 2001 From: Marco Date: Tue, 8 Apr 2025 15:17:21 +0200 Subject: [PATCH] Saving and loading difficulty --- Scripts/GlobalState.cs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Scripts/GlobalState.cs b/Scripts/GlobalState.cs index bb446d6a..91e88353 100644 --- a/Scripts/GlobalState.cs +++ b/Scripts/GlobalState.cs @@ -1,6 +1,7 @@ using System; using System.Linq; using System.Threading.Tasks; +using Cirno.Scripts.Enums; using Cirno.Scripts.Resources; using Cirno.Scripts.Utils; using Godot; @@ -214,7 +215,8 @@ public partial class GlobalState : Node var serializedSavedata = new Godot.Collections.Dictionary() { { "Items", items }, - { "Level", SessionSettings.LevelNumber } + { "Level", SessionSettings.LevelNumber }, + { "Difficulty", (int)SessionSettings.Difficulty} }; var saveFile = FileAccess.Open(SaveNameFile, FileAccess.ModeFlags.Write); @@ -248,6 +250,8 @@ public partial class GlobalState : Node Dictionary items = (Dictionary)deserializedSaveData["Items"]; + DifficultyLevel difficulty = (DifficultyLevel)deserializedSaveData["Difficulty"].AsInt32(); + int levelNumber = (int)deserializedSaveData["Level"]; var levelData = _mapsDatabase.Maps.FirstOrDefault(x => x.LevelId == levelNumber); @@ -259,6 +263,7 @@ public partial class GlobalState : Node this.SessionSettings.NewSession(); SessionSettings.LevelNumber = levelNumber; SessionSettings.Items = items; + SessionSettings.Difficulty = difficulty; this.GotoScene(levelData);