refactor: Replace hardcoded node paths with constants and remove ScoreComponent.
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
using System.Collections.Generic;
|
||||
using Godot;
|
||||
using Godot.Collections;
|
||||
using Mr.BrickAdventures;
|
||||
using Mr.BrickAdventures.Autoloads;
|
||||
using Mr.BrickAdventures.scripts.components;
|
||||
using Mr.BrickAdventures.scripts.Resources;
|
||||
@@ -17,7 +18,7 @@ public partial class Marketplace : Control
|
||||
[Export] public Array<Node> ComponentsToDisable { get; set; } = [];
|
||||
[Export] public PackedScene MarketplaceButtonScene { get; set; }
|
||||
[Export] public PackedScene SkillButtonScene { get; set; }
|
||||
|
||||
|
||||
private GameManager _gameManager;
|
||||
private SkillManager _skillManager;
|
||||
private readonly List<Button> _unlockButtons = [];
|
||||
@@ -25,21 +26,21 @@ public partial class Marketplace : Control
|
||||
|
||||
public override void _Ready()
|
||||
{
|
||||
_gameManager = GetNode<GameManager>("/root/GameManager");
|
||||
_skillManager = GetNode<SkillManager>("/root/SkillManager");
|
||||
_gameManager = GetNode<GameManager>(Constants.GameManagerPath);
|
||||
_skillManager = GetNode<SkillManager>(Constants.SkillManagerPath);
|
||||
_skillManager.SkillRemoved += OnSkillRemoved;
|
||||
|
||||
|
||||
Skills = _skillManager.AvailableSkills;
|
||||
|
||||
|
||||
var skillsToUnlock = new List<SkillData>();
|
||||
|
||||
|
||||
foreach (var skill in Skills) skillsToUnlock.Add(skill);
|
||||
|
||||
foreach (var skill in skillsToUnlock) CreateUpgradeButton(skill);
|
||||
|
||||
var unlockedSkills = _gameManager.GetUnlockedSkills();
|
||||
foreach (var skill in unlockedSkills) CreateSkillButton(skill);
|
||||
|
||||
|
||||
SkillUnlockerComponent.SkillUnlocked += OnSkillUnlocked;
|
||||
}
|
||||
|
||||
@@ -51,7 +52,7 @@ public partial class Marketplace : Control
|
||||
public override void _Input(InputEvent @event)
|
||||
{
|
||||
if (!@event.IsActionPressed("show_marketplace")) return;
|
||||
|
||||
|
||||
if (IsVisible())
|
||||
{
|
||||
Hide();
|
||||
@@ -75,7 +76,7 @@ public partial class Marketplace : Control
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (!buttonExists) CreateSkillButton(skill);
|
||||
|
||||
foreach (var btn in _skillButtons)
|
||||
@@ -92,7 +93,7 @@ public partial class Marketplace : Control
|
||||
button.Setup();
|
||||
button.Pressed += () => OnSkillButtonPressed(button);
|
||||
button.Activate();
|
||||
|
||||
|
||||
_skillButtons.Add(button);
|
||||
UnlockedGrid.AddChild(button);
|
||||
UnlockedGrid.QueueSort();
|
||||
@@ -104,7 +105,7 @@ public partial class Marketplace : Control
|
||||
button.Data = skill;
|
||||
button.Icon = skill.Icon;
|
||||
button.Pressed += () => OnUpgradeButtonPressed(skill);
|
||||
|
||||
|
||||
_unlockButtons.Add(button);
|
||||
ToUnlockGrid.AddChild(button);
|
||||
ToUnlockGrid.QueueSort();
|
||||
@@ -133,7 +134,7 @@ public partial class Marketplace : Control
|
||||
private void OnSkillButtonPressed(SkillButton button)
|
||||
{
|
||||
SkillUnlockerComponent.SkillManager.ToggleSkillActivation(button.Data);
|
||||
|
||||
|
||||
foreach (var btn in _skillButtons)
|
||||
{
|
||||
if (btn.Data.IsActive)
|
||||
@@ -142,7 +143,7 @@ public partial class Marketplace : Control
|
||||
btn.Deactivate();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void OnSkillRemoved(SkillData skill)
|
||||
{
|
||||
SkillButton buttonToRemove = null;
|
||||
|
||||
Reference in New Issue
Block a user