Skip to content

Commit 314ca47

Browse files
authored
feat: simple save support (#41)
1 parent 738f065 commit 314ca47

File tree

14 files changed

+74
-30
lines changed

14 files changed

+74
-30
lines changed

Assets/Framework/App.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
using Audio;
22
using FMODUnity;
33
using Input;
4+
using Saves;
45
using UnityEngine;
56
using UnityEngine.SceneManagement;
67

@@ -9,6 +10,7 @@ public static class App {
910
public static GameManager Game;
1011
public static InputManager Input;
1112
public static AudioManager Audio;
13+
public static SaveManager Save;
1214
public static InputActions Actions;
1315

1416
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)]
@@ -27,6 +29,7 @@ private static void BetterBootstrap() {
2729
Game = app.GetComponent<GameManager>();
2830
Input = app.GetComponent<InputManager>();
2931
Audio = app.GetComponent<AudioManager>();
32+
Save = app.GetComponent<SaveManager>();
3033
Actions = Input.Actions;
3134

3235
Game.DrivenAwake();

Assets/Framework/GameManager.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
using Saves;
12
using System;
23
using UnityEngine;
34
using UnityEngine.InputSystem;
@@ -15,9 +16,11 @@ public void DrivenAwake() {
1516
Story = GetComponent<StoryState>();
1617

1718
#if UNITY_EDITOR
18-
if (SceneManager.GetActiveScene().buildIndex == 0) {
19+
var currentIndex = SceneManager.GetActiveScene().buildIndex;
20+
if (currentIndex == 0) {
1921
SwitchState(Menu);
2022
} else {
23+
App.Save.Current = new SaveController { SceneIndex = currentIndex };
2124
SwitchState(Story);
2225
}
2326
#else

Assets/Framework/StoryState.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ public void Enter() {
1919
public override void OnEnter() {
2020
base.OnEnter();
2121
IsPaused = false;
22-
_activeScene = 1;
22+
_activeScene = App.Save.Current.SceneIndex;
2323
if (SceneManager.GetActiveScene().buildIndex != _activeScene) {
2424
SceneManager.LoadScene(_activeScene);
2525
}

Assets/Resources/App.prefab

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

Assets/Saves.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/Saves/SaveController.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
namespace Saves {
2+
public class SaveController {
3+
public int SceneIndex;
4+
}
5+
}

Assets/Saves/SaveController.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/Saves/SaveManager.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
using UnityEngine;
2+
3+
namespace Saves {
4+
public class SaveManager : MonoBehaviour {
5+
public SaveController Current;
6+
}
7+
}

Assets/Saves/SaveManager.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/Scenes/Menu/Office.unity

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

0 commit comments

Comments
 (0)