Add achievement system with unlock and UI popup functionality (#8)

This commit is contained in:
2025-08-31 00:50:53 +02:00
committed by GitHub
parent 88c7a0a055
commit 53b5f968fd
46 changed files with 464 additions and 243 deletions

View File

@@ -10,10 +10,12 @@ public partial class ConsoleManager : Node
private GameManager _gameManager;
private SkillManager _skillManager;
private SkillUnlockerComponent _skillUnlockerComponent;
private AchievementManager _achievementManager;
public override void _Ready()
{
_gameManager = GetNode<GameManager>("/root/GameManager");
_achievementManager = GetNode<AchievementManager>("/root/AchievementManager");
RegisterConsoleCommands();
}
@@ -154,5 +156,18 @@ public partial class ConsoleManager : Node
{
_gameManager.OnLevelComplete();
}
[ConsoleCommand("unlock_achievement", "Unlocks an achievement by its ID.")]
private void UnlockAchievementCommand(string achievementId)
{
_achievementManager.UnlockAchievement(achievementId);
LimboConsole.Info($"Attempted to unlock achievement '{achievementId}'.");
}
[ConsoleCommand("reset_achievement", "Resets (locks) an achievement by its ID.")]
private void ResetAchievementCommand(string achievementId)
{
_achievementManager.LockAchievement(achievementId);
}
}