78 lines
1.5 KiB
C#
78 lines
1.5 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using UnityEngine.Events;
|
|
|
|
public class saveGameInfoHelper : MonoBehaviour
|
|
{
|
|
[Header ("Main Settings")]
|
|
[Space]
|
|
|
|
public bool checkSaveStateOnStartEnabled = true;
|
|
|
|
[Space]
|
|
[Header ("Components Settings")]
|
|
[Space]
|
|
|
|
public saveGameSystem mainSaveGameSystem;
|
|
|
|
[Space]
|
|
[Header ("Events Settings")]
|
|
[Space]
|
|
|
|
public UnityEvent eventOnHomeMenuOpened;
|
|
|
|
public UnityEvent eventOnGameSavesLocated;
|
|
public UnityEvent eventOnGameSavesNotLocated;
|
|
|
|
|
|
int currentSaveNumberOnPlayerPrefs = -1;
|
|
|
|
void Start ()
|
|
{
|
|
if (!checkSaveStateOnStartEnabled) {
|
|
return;
|
|
}
|
|
|
|
checkIfGameCanContinue ();
|
|
}
|
|
|
|
public void checkIfGameCanContinue ()
|
|
{
|
|
eventOnHomeMenuOpened.Invoke ();
|
|
|
|
mainSaveGameSystem.startGameSystem ();
|
|
|
|
if (mainSaveGameSystem.isThereSaveSlotsLoaded ()) {
|
|
eventOnGameSavesLocated.Invoke ();
|
|
} else {
|
|
eventOnGameSavesNotLocated.Invoke ();
|
|
}
|
|
}
|
|
|
|
public void storeSaveNumberOnPlayerPrefs (int newValue)
|
|
{
|
|
PlayerPrefs.SetInt ("saveNumber", newValue);
|
|
|
|
currentSaveNumberOnPlayerPrefs = newValue;
|
|
|
|
PlayerPrefs.SetInt ("Delete Player Prefs Active", 1);
|
|
}
|
|
|
|
public void removeSaveNumberOnPlayerPrefs ()
|
|
{
|
|
if (PlayerPrefs.HasKey ("saveNumber") && currentSaveNumberOnPlayerPrefs != -1) {
|
|
|
|
if (currentSaveNumberOnPlayerPrefs == PlayerPrefs.GetInt ("saveNumber")) {
|
|
|
|
PlayerPrefs.DeleteKey ("saveNumber");
|
|
|
|
currentSaveNumberOnPlayerPrefs = -1;
|
|
|
|
|
|
PlayerPrefs.DeleteKey ("Delete Player Prefs Active");
|
|
}
|
|
}
|
|
}
|
|
}
|