Files
TheGame/scripts/GameState.cs
Björn Blomberg 74062a37d6 Add localization support and refactor menus
- Implemented LocalizationManager for handling multiple languages.
- Updated LoadGameMenu, MainMenu, PauseMenu, and SettingsMenu to support localization.
- Added InstanceSelectionMenu for selecting game instances.
- Refactored SaveManager to handle new SaveInstance structure.
- Created SaveDialog for saving games with user-defined names.
- Enhanced SaveData to manage multiple save instances.
- Added error handling and logging for save/load operations.
- Updated UI elements to reflect localized text.
2025-10-17 14:22:21 +02:00

37 lines
1.1 KiB
C#

using Godot;
namespace TheGame
{
public static class GameState
{
public static float LoadedGameTime = -1;
public static GameSeed CurrentGameSeed = null;
public static SaveInstance LoadedInstance = null;
public static bool HasUnsavedProgress = false;
public static float LastSavedGameTime = 0;
public static void MarkProgressAsSaved(float gameTime)
{
LastSavedGameTime = gameTime;
HasUnsavedProgress = false;
}
public static void CheckUnsavedProgress(float currentGameTime)
{
// Om speltiden har ökat sedan senaste sparningen, markera som osparad
if (currentGameTime > LastSavedGameTime + 1.0f) // 1 sekund tolerans
{
HasUnsavedProgress = true;
}
}
public static void ResetGameState()
{
LoadedGameTime = -1;
CurrentGameSeed = null;
LoadedInstance = null;
HasUnsavedProgress = false;
LastSavedGameTime = 0;
}
}
}