refactor: enhance GameStateStore integration and improve skill management

This commit is contained in:
2026-03-19 02:33:07 +01:00
parent 3e36e48e97
commit eeefca4d4e
31 changed files with 260 additions and 419 deletions

View File

@@ -13,14 +13,12 @@ public partial class MarketplaceButton : Button
[Export] public Texture2D LockedSkillIcon { get; set; }
[Export] public Container SkillLevelContainer { get; set; }
private GameManager _gameManager;
private SkillUnlockerComponent _skillUnlockerComponent;
private SkillManager _skillManager;
public override void _Ready()
{
_gameManager = GameManager.Instance;
var player = _gameManager.Player;
var player = GameManager.Instance?.Player;
if (player == null) return;
_skillUnlockerComponent = player.GetNodeOrNull<SkillUnlockerComponent>("SkillUnlockerComponent");
@@ -59,7 +57,7 @@ public partial class MarketplaceButton : Button
return;
}
var isUnlocked = _gameManager.IsSkillUnlocked(Data);
var isUnlocked = GameStateStore.Instance?.IsSkillUnlocked(Data) ?? false;
for (var i = 0; i < SkillLevelContainer.GetChildCount(); i++)
{