refactor: replace direct manager instances with lazy accessors for improved performance
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
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;
|
||||
@@ -19,17 +18,14 @@ public partial class Marketplace : Control
|
||||
[Export] public PackedScene MarketplaceButtonScene { get; set; }
|
||||
[Export] public PackedScene SkillButtonScene { get; set; }
|
||||
|
||||
private GameManager _gameManager;
|
||||
private SkillManager _skillManager;
|
||||
private GameManager GameManager => GameManager.Instance;
|
||||
private SkillManager SkillManager => SkillManager.Instance;
|
||||
private readonly List<Button> _unlockButtons = [];
|
||||
private readonly List<SkillButton> _skillButtons = [];
|
||||
|
||||
public override void _Ready()
|
||||
{
|
||||
_gameManager = GameManager.Instance;
|
||||
_skillManager = SkillManager.Instance;
|
||||
|
||||
Skills = _skillManager.AvailableSkills;
|
||||
Skills = SkillManager.AvailableSkills;
|
||||
|
||||
var skillsToUnlock = new List<SkillData>();
|
||||
|
||||
@@ -37,7 +33,7 @@ public partial class Marketplace : Control
|
||||
|
||||
foreach (var skill in skillsToUnlock) CreateUpgradeButton(skill);
|
||||
|
||||
var unlockedSkills = _gameManager.GetUnlockedSkills();
|
||||
var unlockedSkills = GameManager.GetUnlockedSkills();
|
||||
foreach (var skill in unlockedSkills) CreateSkillButton(skill);
|
||||
|
||||
SkillUnlockerComponent.SkillUnlocked += OnSkillUnlocked;
|
||||
@@ -85,7 +81,7 @@ public partial class Marketplace : Control
|
||||
|
||||
foreach (var btn in _skillButtons)
|
||||
{
|
||||
if (_skillManager.IsSkillActive(btn.Data)) btn.Activate();
|
||||
if (SkillManager.IsSkillActive(btn.Data)) btn.Activate();
|
||||
else btn.Deactivate();
|
||||
}
|
||||
}
|
||||
@@ -117,7 +113,7 @@ public partial class Marketplace : Control
|
||||
|
||||
private void OnUpgradeButtonPressed(SkillData skill)
|
||||
{
|
||||
if (_gameManager.IsSkillUnlocked(skill))
|
||||
if (GameManager.IsSkillUnlocked(skill))
|
||||
{
|
||||
if (skill.Level < skill.MaxLevel)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user