50 lines
1.7 KiB
C#
50 lines
1.7 KiB
C#
// ==============================
|
|
// PuzzleBase.cs (updated)
|
|
// ==============================
|
|
|
|
using System.Collections.Generic;
|
|
using BriarQueen.Framework.Assets;
|
|
using BriarQueen.Framework.Coordinators.Events;
|
|
using BriarQueen.Framework.Managers.Audio;
|
|
using BriarQueen.Framework.Managers.Hints.Data;
|
|
using BriarQueen.Framework.Managers.IO;
|
|
using BriarQueen.Framework.Managers.Levels.Data;
|
|
using BriarQueen.Framework.Registries;
|
|
using Cysharp.Threading.Tasks;
|
|
using VContainer;
|
|
|
|
namespace BriarQueen.Framework.Services.Puzzles.Base
|
|
{
|
|
public abstract class BasePuzzle : BaseLevel
|
|
{
|
|
protected AddressableManager AddressableManager;
|
|
protected AssetRegistry AssetRegistry;
|
|
protected AudioManager AudioManager;
|
|
protected ItemRegistry ItemRegistry;
|
|
protected PuzzleService PuzzleService;
|
|
|
|
public abstract string PuzzleID { get; }
|
|
|
|
public override bool IsPuzzleLevel => true;
|
|
|
|
// BaseLevel still requires these.
|
|
public abstract override string LevelName { get; }
|
|
public abstract override Dictionary<int, BaseHint> Hints { get; }
|
|
|
|
public abstract UniTask CompletePuzzle();
|
|
|
|
[Inject]
|
|
public void Construct(EventCoordinator eventCoordinator, AudioManager audioManager,
|
|
SaveManager saveManager, ItemRegistry itemRegistry, AddressableManager addressableManager,
|
|
AssetRegistry assetRegistry, PuzzleService puzzleService)
|
|
{
|
|
EventCoordinator = eventCoordinator;
|
|
AudioManager = audioManager;
|
|
SaveManager = saveManager;
|
|
ItemRegistry = itemRegistry;
|
|
AddressableManager = addressableManager;
|
|
AssetRegistry = assetRegistry;
|
|
PuzzleService = puzzleService;
|
|
}
|
|
}
|
|
} |