Add game scene and level catalog interfaces, and implement scene management in AppRoot
This commit is contained in:
@@ -1,6 +1,21 @@
|
||||
using Mr.BrickAdventures.game.repositories;
|
||||
|
||||
namespace Mr.BrickAdventures.game.services;
|
||||
|
||||
public sealed class LevelService
|
||||
{
|
||||
private readonly LevelRepository _levels;
|
||||
public LevelService(LevelRepository levels) => _levels = levels;
|
||||
|
||||
public int CompleteAndAdvance() {
|
||||
var cur = _levels.Current;
|
||||
_levels.Complete(cur);
|
||||
var next = cur + 1;
|
||||
_levels.SetCurrent(next);
|
||||
return next;
|
||||
}
|
||||
|
||||
public void StartNew() {
|
||||
_levels.Load(new LevelState { Current = 0, Unlocked = new [] { 0 }, Completed = [] });
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user