Files
DougDiggem/Assets/Scripts/Management/PlayerManager.cs
T
2026-04-15 21:33:36 -05:00

40 lines
1.3 KiB
C#

using UnityEngine;
using UnityEngine.SceneManagement;
// 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;
data.camRotation = GameManager.Instance.PlayerController.cameraController.camTargetRotation;
data.dougPosition = GameManager.Instance.PlayerController.transform.position;
data.currentScene = SceneManager.GetActiveScene().name;
}
public void LoadPlayerData(PlayerSaveData data)
{
/*if (data.currentScene != null && data.currentScene != SceneManager.GetActiveScene().name)
{
SceneManager.LoadScene(data.currentScene);
}*/
GameManager.Instance.PlayerManager.CurrentToolIndex = data.activeToolIndex;
GameManager.Instance.PlayerController.cameraController.SnapToRotation(data.camRotation);
GameManager.Instance.PlayerController.transform.position = data.dougPosition;
}
#endregion
}
[System.Serializable]
public struct PlayerSaveData
{
public int activeToolIndex;
public float camRotation;
public Vector3 dougPosition;
public string currentScene;
}