save tool between scenes and in save file
This commit is contained in:
@@ -11,6 +11,7 @@ public class GameManager : MonoBehaviour
|
||||
public static GameManager Instance { get; private set; }
|
||||
public DialogueManager DialogueManager { get; private set; }
|
||||
public TimeManager TimeManager { get; private set; }
|
||||
public PlayerManager PlayerManager { get; private set; }
|
||||
public Inventory Inventory { get; private set; }
|
||||
public Storybools Storybools { get; private set; }
|
||||
|
||||
@@ -26,6 +27,7 @@ private void Awake()
|
||||
if (Instance != null && Instance != this)
|
||||
{
|
||||
Destroy(this.gameObject);
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -52,6 +54,7 @@ private void ReloadReferences()
|
||||
|
||||
Instance.Inventory = GetComponent<Inventory>();
|
||||
Instance.TimeManager = GetComponent<TimeManager>();
|
||||
Instance.PlayerManager = GetComponent<PlayerManager>();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
using UnityEngine;
|
||||
|
||||
// Handles scene-persistent player data
|
||||
public class PlayerManager : MonoBehaviour
|
||||
{
|
||||
public int CurrentToolIndex;
|
||||
|
||||
#region Player Data Save/Load
|
||||
public void SavePlayerData(ref PlayerSaveData data)
|
||||
{
|
||||
data.activeToolIndex = GameManager.Instance.PlayerManager.CurrentToolIndex;
|
||||
}
|
||||
|
||||
public void LoadPlayerData(PlayerSaveData data)
|
||||
{
|
||||
GameManager.Instance.PlayerManager.CurrentToolIndex = data.activeToolIndex;
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
|
||||
[System.Serializable]
|
||||
public struct PlayerSaveData
|
||||
{
|
||||
public int activeToolIndex;
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f9c9dde58f68b5e4d9fc0036b990c481
|
||||
@@ -13,6 +13,7 @@ public struct SaveData
|
||||
public StoryboolSaveData StoryboolData;
|
||||
public InventorySaveData InventorySaveData;
|
||||
public TimeSaveData TimeSaveData;
|
||||
public PlayerSaveData PlayerSaveData;
|
||||
}
|
||||
|
||||
public static string SaveFileName()
|
||||
@@ -45,6 +46,7 @@ private static void HandleSaveData()
|
||||
GameManager.Instance.SaveStoryBools(ref _saveData.StoryboolData);
|
||||
GameManager.Instance.Inventory.SaveInventory(ref _saveData.InventorySaveData);
|
||||
GameManager.Instance.TimeManager.SaveTime(ref _saveData.TimeSaveData);
|
||||
GameManager.Instance.PlayerManager.SavePlayerData(ref _saveData.PlayerSaveData);
|
||||
QuestRegistry.Instance.SaveQuestData(ref _saveData.QuestData);
|
||||
}
|
||||
|
||||
@@ -84,6 +86,7 @@ public static void HandleLoadData()
|
||||
GameManager.Instance.LoadStoryBools(_saveData.StoryboolData);
|
||||
GameManager.Instance.Inventory.LoadInventory(_saveData.InventorySaveData);
|
||||
GameManager.Instance.TimeManager.LoadTime(_saveData.TimeSaveData);
|
||||
GameManager.Instance.PlayerManager.LoadPlayerData(_saveData.PlayerSaveData);
|
||||
QuestRegistry.Instance.LoadQuestData(_saveData.QuestData);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user