Skip to content

Commit 00dab2b

Browse files
committed
add: Facade save load
1 parent aa25c3a commit 00dab2b

16 files changed

+246
-167
lines changed

Assets/Code/Editor/SaveWindowEditor.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,13 +60,13 @@ protected override void DrawEditor(int index)
6060
GUILayout.Space(10);
6161

6262
// Buttons
63-
GUI.backgroundColor = new Color(0.6f, 0.9f, 1f); // голубая
63+
GUI.backgroundColor = new Color(0.6f, 0.9f, 1f);
6464
if (GUILayout.Button("🔄 Refresh", GUILayout.Height(35)))
6565
Refresh();
6666

6767
GUILayout.Space(5);
6868

69-
GUI.backgroundColor = new Color(1f, 0.4f, 0.4f); // красная
69+
GUI.backgroundColor = new Color(1f, 0.4f, 0.4f);
7070
if (GUILayout.Button("🗑 Delete PlayerData", GUILayout.Height(35)))
7171
DeletePlayerData();
7272

Assets/Code/Infrastructure/BootstrapInstaller.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,10 @@ private void BindFactory()
2727
Container.BindInterfacesTo<UIFactory>().AsSingle();
2828
}
2929

30-
private void BindSaveLoad() =>
31-
Container.Bind<ISaveLoadService>().To<SaveLoadService>().AsSingle();
30+
private void BindSaveLoad()
31+
{
32+
Container.Bind<ISaveLoadFacade>().To<UnifiedSaveLoadFacade>().AsSingle();
33+
}
3234

3335
private void BindProgressData() =>
3436
Container.Bind<IPersistenceProgressService>().To<PersistenceProgressService>().AsSingle();
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
using Code.Infrastructure.Services.PersistenceProgress.Player;
2+
3+
namespace Code.Infrastructure.Services.SaveLoad
4+
{
5+
public interface ISaveLoadFacade
6+
{
7+
void SaveProgress(SaveMethod method);
8+
void Save(SaveMethod method, PlayerData data);
9+
PlayerData Load(SaveMethod method);
10+
}
11+
}

Assets/Code/Infrastructure/Services/SaveLoad/ISaveLoadFacade.cs.meta

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
using System;
2+
using Code.Infrastructure.Services.PersistenceProgress;
3+
using Code.Infrastructure.Services.PersistenceProgress.Player;
4+
5+
namespace Code.Infrastructure.Services.SaveLoad
6+
{
7+
public class JsonSaveLoadService : ISaveLoadService
8+
{
9+
private readonly IPersistenceProgressService _progressService;
10+
11+
public JsonSaveLoadService(IPersistenceProgressService progressService)
12+
{
13+
_progressService = progressService;
14+
}
15+
16+
public void SaveProgress()
17+
{
18+
throw new NotImplementedException();
19+
}
20+
21+
public void Save(PlayerData playerData)
22+
{
23+
throw new NotImplementedException();
24+
}
25+
26+
public PlayerData Load()
27+
{
28+
throw new NotImplementedException();
29+
}
30+
}
31+
}

Assets/Code/Infrastructure/Services/SaveLoad/JsonSaveLoadService.cs.meta

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Assets/Code/Infrastructure/Services/SaveLoad/SaveLoadService.cs renamed to Assets/Code/Infrastructure/Services/SaveLoad/PrefsSaveLoadService.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@
66

77
namespace Code.Infrastructure.Services.SaveLoad
88
{
9-
public class SaveLoadService : ISaveLoadService
9+
public class PrefsSaveLoadService : ISaveLoadService
1010
{
1111
private const string PlayerDataKey = "PlayerData";
1212

1313
private readonly IPersistenceProgressService _progressService;
1414

15-
public SaveLoadService(IPersistenceProgressService progressService)
15+
public PrefsSaveLoadService(IPersistenceProgressService progressService)
1616
{
1717
_progressService = progressService;
1818
}

Assets/Code/Infrastructure/Services/SaveLoad/SaveLoadService.cs.meta renamed to Assets/Code/Infrastructure/Services/SaveLoad/PrefsSaveLoadService.cs.meta

File renamed without changes.
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
using System;
2+
3+
namespace Code.Infrastructure.Services.SaveLoad
4+
{
5+
[Serializable]
6+
public enum SaveMethod
7+
{
8+
PlayerPrefs,
9+
Json,
10+
Xml
11+
}
12+
}

Assets/Code/Infrastructure/Services/SaveLoad/SaveMethod.cs.meta

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)