-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Save app toolbar position and toggled options in save game
- Loading branch information
1 parent
c85c90a
commit 22bf730
Showing
7 changed files
with
101 additions
and
10 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
using CommNext.Rendering; | ||
using UnityEngine; | ||
|
||
namespace CommNext.Data; | ||
|
||
public class SaveData | ||
{ | ||
public Vector3? MapToolbarPosition; | ||
public ConnectionsDisplayMode? ConnectionsDisplayMode; | ||
public bool? ShowRulers; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
using BepInEx.Logging; | ||
using CommNext.Data; | ||
using CommNext.Rendering; | ||
using CommNext.UI; | ||
using KSP.Game; | ||
using SpaceWarp.API.SaveGameManager; | ||
|
||
namespace CommNext.Managers; | ||
|
||
public class SaveManager | ||
{ | ||
public static SaveManager Instance { get; private set; } = new(); | ||
private static readonly ManualLogSource Logger = BepInEx.Logging.Logger.CreateLogSource("CommNext.SaveManager"); | ||
|
||
private SaveData? _loadedSaveData; | ||
|
||
public void Register() | ||
{ | ||
ModSaves.RegisterSaveLoadGameData<SaveData>(CommNextPlugin.ModGuid, SaveGameData, LoadGameData); | ||
} | ||
|
||
private static void SaveGameData(SaveData dataToSave) | ||
{ | ||
dataToSave.MapToolbarPosition = MainUIManager.Instance.MapToolbarWindow!.Position; | ||
dataToSave.ConnectionsDisplayMode = ConnectionsRenderer.Instance.ConnectionsDisplayMode; | ||
dataToSave.ShowRulers = ConnectionsRenderer.Instance.IsRulersEnabled; | ||
} | ||
|
||
private void LoadGameData(SaveData dataToLoad) | ||
{ | ||
_loadedSaveData = dataToLoad; | ||
Logger.LogInfo("Loaded game data"); | ||
} | ||
|
||
/// <summary> | ||
/// Called when the UI is built, to load the saved data into the UI. | ||
/// </summary> | ||
public void LoadDataIntoUI() | ||
{ | ||
if (_loadedSaveData == null) return; | ||
|
||
if (_loadedSaveData.MapToolbarPosition.HasValue) | ||
MainUIManager.Instance.MapToolbarWindow.Position = _loadedSaveData.MapToolbarPosition.Value; | ||
|
||
if (_loadedSaveData.ShowRulers != null) | ||
ConnectionsRenderer.Instance.IsRulersEnabled = _loadedSaveData.ShowRulers.Value; | ||
if (_loadedSaveData.ConnectionsDisplayMode != null) | ||
ConnectionsRenderer.Instance.ConnectionsDisplayMode = _loadedSaveData.ConnectionsDisplayMode.Value; | ||
|
||
MainUIManager.Instance.MapToolbarWindow.UpdateButtonState(); | ||
_loadedSaveData = null; | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters