Implement miracle unlock management and update tooltip logic for MiracleButton

This commit is contained in:
2025-08-23 14:25:35 +02:00
parent 83b89e3099
commit a6c6bde622
4 changed files with 26 additions and 6 deletions

View File

@@ -7,7 +7,7 @@ namespace ParasiticGod.Scripts.Core;
public class GameState
{
private readonly Dictionary<Stat, StatData> _stats = new();
private readonly Dictionary<string, MiracleDefinition> _miraclesInHand = new();
private readonly HashSet<string> _unlockedMiracleIds = [];
public List<Buff> ActiveBuffs { get; } = [];
@@ -36,5 +36,7 @@ public class GameState
public void Unsubscribe(Stat stat, Action<double> listener) => _stats[stat].OnChanged -= listener;
public Dictionary<string, MiracleDefinition> MiraclesInHand() => _miraclesInHand;
public bool IsMiracleUnlocked(string miracleId) => _unlockedMiracleIds.Contains(miracleId);
public void AddUnlockedMiracle(string miracleId) => _unlockedMiracleIds.Add(miracleId);
public void RemoveUnlockedMiracle(string miracleId) => _unlockedMiracleIds.Remove(miracleId);
}