refactor: replace direct manager instances with lazy accessors for improved performance
This commit is contained in:
@@ -10,11 +10,10 @@ namespace Mr.BrickAdventures.scripts.Events;
|
||||
/// </summary>
|
||||
public partial class SkillCollectHandler : Node
|
||||
{
|
||||
private SkillManager _skillManager;
|
||||
private SkillManager SkillManager => SkillManager.Instance;
|
||||
|
||||
public override void _Ready()
|
||||
{
|
||||
_skillManager = SkillManager.Instance;
|
||||
EventBus.Instance.SkillCollected += OnSkillCollected;
|
||||
}
|
||||
|
||||
@@ -35,7 +34,7 @@ public partial class SkillCollectHandler : Node
|
||||
|
||||
// Immediately activate the skill for the player
|
||||
skill.Level = 1;
|
||||
_skillManager?.AddSkill(skill);
|
||||
SkillManager?.AddSkill(skill);
|
||||
|
||||
// Emit skill unlocked event for UI/achievements
|
||||
EventBus.EmitSkillUnlocked(skill.Name, skill.Level);
|
||||
|
||||
@@ -9,12 +9,10 @@ namespace Mr.BrickAdventures.scripts.Events;
|
||||
/// </summary>
|
||||
public partial class StatisticsEventHandler : Node
|
||||
{
|
||||
private StatisticsManager _statisticsManager;
|
||||
private StatisticsManager StatisticsManager => StatisticsManager.Instance;
|
||||
|
||||
public override void _Ready()
|
||||
{
|
||||
_statisticsManager = StatisticsManager.Instance;
|
||||
|
||||
// Subscribe to events
|
||||
EventBus.Instance.CoinCollected += OnCoinCollected;
|
||||
EventBus.Instance.EnemyDefeated += OnEnemyDefeated;
|
||||
@@ -36,26 +34,26 @@ public partial class StatisticsEventHandler : Node
|
||||
|
||||
private void OnCoinCollected(int amount, Vector2 position)
|
||||
{
|
||||
_statisticsManager.IncrementStat("coins_collected", amount);
|
||||
StatisticsManager.IncrementStat("coins_collected", amount);
|
||||
}
|
||||
|
||||
private void OnEnemyDefeated(Node enemy, Vector2 position)
|
||||
{
|
||||
_statisticsManager.IncrementStat("enemies_defeated");
|
||||
StatisticsManager.IncrementStat("enemies_defeated");
|
||||
}
|
||||
|
||||
private void OnPlayerDied(Vector2 position)
|
||||
{
|
||||
_statisticsManager.IncrementStat("deaths");
|
||||
StatisticsManager.IncrementStat("deaths");
|
||||
}
|
||||
|
||||
private void OnLevelCompleted(int levelIndex, Node currentScene, double completionTime)
|
||||
{
|
||||
_statisticsManager.IncrementStat("levels_completed");
|
||||
StatisticsManager.IncrementStat("levels_completed");
|
||||
}
|
||||
|
||||
private void OnChildRescued(Vector2 position)
|
||||
{
|
||||
_statisticsManager.IncrementStat("children_rescued");
|
||||
StatisticsManager.IncrementStat("children_rescued");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user