refactor: standardization round 2
- 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
This commit is contained in:
@@ -9,6 +9,8 @@ namespace Mr.BrickAdventures.Autoloads;
|
||||
/// </summary>
|
||||
public partial class AchievementManager : Node
|
||||
{
|
||||
public static AchievementManager Instance { get; private set; }
|
||||
|
||||
[Export] private string AchievementsFolderPath = "res://achievements/";
|
||||
[Export] private PackedScene AchievementPopupScene { get; set; }
|
||||
|
||||
@@ -16,9 +18,15 @@ public partial class AchievementManager : Node
|
||||
|
||||
public override void _Ready()
|
||||
{
|
||||
Instance = this;
|
||||
LoadAchievementsFromFolder();
|
||||
}
|
||||
|
||||
public override void _ExitTree()
|
||||
{
|
||||
if (Instance == this) Instance = null;
|
||||
}
|
||||
|
||||
private void LoadAchievementsFromFolder()
|
||||
{
|
||||
using var dir = DirAccess.Open(AchievementsFolderPath);
|
||||
|
||||
Reference in New Issue
Block a user