- ConsoleManager: lazy GameManager/AchievementManager via Instance (fixes NullRef on console commands) - AchievementManager, GhostManager: add static Instance property - GhostEventHandler: use GhostManager.Instance, add _ExitTree unsubscription - SpeedRunManager: remove unused IsVisible guard; TimeUpdated now emits when running - SpeedRunHud: use SpeedRunManager.Instance, remove dead IsVisible binding - SaveDataDto: moved to scripts/State/SaveDataDto.cs - GameManager.AddCoins: XML doc clarifying permanent vs session coins
20 lines
617 B
C#
20 lines
617 B
C#
using System.Collections.Generic;
|
|
|
|
namespace Mr.BrickAdventures.scripts.State;
|
|
|
|
/// <summary>
|
|
/// Serializable DTO for save data - no Godot types.
|
|
/// </summary>
|
|
public class SaveDataDto
|
|
{
|
|
public int Version { get; set; }
|
|
public int Coins { get; set; }
|
|
public int Lives { get; set; }
|
|
public int CurrentLevel { get; set; }
|
|
public List<int> CompletedLevels { get; set; }
|
|
public List<int> UnlockedLevels { get; set; }
|
|
public List<string> UnlockedSkillNames { get; set; }
|
|
public List<string> UnlockedAchievements { get; set; }
|
|
public Dictionary<string, int> Statistics { get; set; }
|
|
}
|