First commit for private source control. Older commits available on Github.

This commit is contained in:
2026-03-26 12:52:52 +00:00
parent a04c602626
commit 2d449c4a17
2176 changed files with 408185 additions and 0 deletions

View File

@@ -0,0 +1,47 @@
using BriarQueen.Data.Identifiers;
using BriarQueen.Framework.Coordinators.Events;
using BriarQueen.Framework.Events.Save;
using BriarQueen.Framework.Events.UI;
using BriarQueen.Framework.Managers.IO;
using BriarQueen.Framework.Services.Settings;
using VContainer;
namespace BriarQueen.Framework.Services.Tutorials
{
public class TutorialService
{
private readonly EventCoordinator _eventCoordinator;
private readonly SettingsService _settingsService;
private readonly SaveManager _saveManager;
[Inject]
public TutorialService(
EventCoordinator eventCoordinator,
SettingsService settingsService,
SaveManager saveManager)
{
_eventCoordinator = eventCoordinator;
_settingsService = settingsService;
_saveManager = saveManager;
}
public void DisplayTutorial(TutorialPopupID tutorialPopupID)
{
var save = _saveManager.CurrentSave;
var tutorialVars = save?.PersistentVariables?.TutorialPopupVariables;
if (tutorialVars == null)
return;
if (tutorialVars.HasBeenDisplayed(tutorialPopupID))
return;
tutorialVars.MarkDisplayed(tutorialPopupID);
if (_settingsService.AreTutorialsEnabled())
_eventCoordinator.Publish(new DisplayTutorialPopupEvent(tutorialPopupID));
_eventCoordinator.PublishImmediate(new RequestGameSaveEvent());
}
}
}