using System; using UnityEngine; [Serializable] public class SavePlayerData_JS : MonoBehaviour { public Vector3 playerPosition; public Vector3 playerRotation; public GameObject UniStorm; public int currentHour; public Vector3 rotationToSet; public bool dataLoaded; public virtual void Start() { UniStorm = GameObject.Find("UniStormSystemEditor"); } public virtual void Update() { if (Input.GetKeyDown(KeyCode.O)) { PlayerPrefs.SetInt("Current Minute", ((UniStormWeatherSystem_JS)UniStorm.GetComponent(typeof(UniStormWeatherSystem_JS))).minuteCounter); currentHour = (int)((UniStormWeatherSystem_JS)UniStorm.GetComponent(typeof(UniStormWeatherSystem_JS))).Hour; PlayerPrefs.SetFloat("Current Hour", currentHour); PlayerPrefs.SetInt("Current Weather", ((UniStormWeatherSystem_JS)UniStorm.GetComponent(typeof(UniStormWeatherSystem_JS))).weatherForecaster); PlayerPrefs.SetInt("Current Day", ((UniStormWeatherSystem_JS)UniStorm.GetComponent(typeof(UniStormWeatherSystem_JS))).dayCounter); PlayerPrefs.SetFloat("Current Month", ((UniStormWeatherSystem_JS)UniStorm.GetComponent(typeof(UniStormWeatherSystem_JS))).monthCounter); PlayerPrefs.SetFloat("Current Year", ((UniStormWeatherSystem_JS)UniStorm.GetComponent(typeof(UniStormWeatherSystem_JS))).yearCounter); PlayerPrefs.SetInt("Current Temperature", ((UniStormWeatherSystem_JS)UniStorm.GetComponent(typeof(UniStormWeatherSystem_JS))).temperature); playerPosition = transform.position; playerRotation = transform.rotation.eulerAngles; PlayerPrefs.SetFloat("Player Position X", playerPosition.x); PlayerPrefs.SetFloat("Player Position Y", playerPosition.y); PlayerPrefs.SetFloat("Player Position Z", playerPosition.z); PlayerPrefs.SetFloat("Player Rotation X", playerRotation.x); PlayerPrefs.SetFloat("Player Rotation Y", playerRotation.y); PlayerPrefs.SetFloat("Player Rotation Z", playerRotation.z); Debug.Log("Game Saved" + "\n" + " In-Game Time " + currentHour + ":" + ((UniStormWeatherSystem_JS)UniStorm.GetComponent(typeof(UniStormWeatherSystem_JS))).minuteCounter + " | " + " In-Game Date " + ((UniStormWeatherSystem_JS)UniStorm.GetComponent(typeof(UniStormWeatherSystem_JS))).monthCounter + "/" + ((UniStormWeatherSystem_JS)UniStorm.GetComponent(typeof(UniStormWeatherSystem_JS))).dayCounter + "/" + ((UniStormWeatherSystem_JS)UniStorm.GetComponent(typeof(UniStormWeatherSystem_JS))).yearCounter + " | Current Weather " + ((UniStormWeatherSystem_JS)UniStorm.GetComponent(typeof(UniStormWeatherSystem_JS))).weatherString + " | Current Temperature " + ((UniStormWeatherSystem_JS)UniStorm.GetComponent(typeof(UniStormWeatherSystem_JS))).temperature); } if (Input.GetKeyDown(KeyCode.L)) { ((UniStormWeatherSystem_JS)UniStorm.GetComponent(typeof(UniStormWeatherSystem_JS))).realStartTimeMinutes = PlayerPrefs.GetInt("Current Minute"); ((UniStormWeatherSystem_JS)UniStorm.GetComponent(typeof(UniStormWeatherSystem_JS))).realStartTime = (int)PlayerPrefs.GetFloat("Current Hour"); ((UniStormWeatherSystem_JS)UniStorm.GetComponent(typeof(UniStormWeatherSystem_JS))).LoadTime(); ((UniStormWeatherSystem_JS)UniStorm.GetComponent(typeof(UniStormWeatherSystem_JS))).weatherForecaster = PlayerPrefs.GetInt("Current Weather"); ((UniStormWeatherSystem_JS)UniStorm.GetComponent(typeof(UniStormWeatherSystem_JS))).dayCounter = PlayerPrefs.GetInt("Current Day"); ((UniStormWeatherSystem_JS)UniStorm.GetComponent(typeof(UniStormWeatherSystem_JS))).monthCounter = (int)PlayerPrefs.GetFloat("Current Month"); ((UniStormWeatherSystem_JS)UniStorm.GetComponent(typeof(UniStormWeatherSystem_JS))).yearCounter = (int)PlayerPrefs.GetFloat("Current Year"); ((UniStormWeatherSystem_JS)UniStorm.GetComponent(typeof(UniStormWeatherSystem_JS))).temperature = PlayerPrefs.GetInt("Current Temperature"); playerPosition.x = PlayerPrefs.GetFloat("Player Position X"); playerPosition.y = PlayerPrefs.GetFloat("Player Position Y"); playerPosition.z = PlayerPrefs.GetFloat("Player Position Z"); playerRotation.x = PlayerPrefs.GetFloat("Player Rotation X"); playerRotation.y = PlayerPrefs.GetFloat("Player Rotation Y"); playerRotation.z = PlayerPrefs.GetFloat("Player Rotation Z"); ((UniStormWeatherSystem_JS)UniStorm.GetComponent(typeof(UniStormWeatherSystem_JS))).InstantWeather(); transform.position = new Vector3(playerPosition.x, playerPosition.y, playerPosition.z); rotationToSet = new Vector3(playerRotation.x, playerRotation.y, playerRotation.z); transform.eulerAngles = rotationToSet; Debug.Log("Game Loaded"); } } public virtual void Main() { } }