using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement; public class DoorBehaviour : MonoBehaviour { public GameObject SaveController; [SerializeField] public Gateway gateway; [SerializeField] public bool isEnabled = true; // Start is called before the first frame update void Start() { gateway.currentMapName = SceneManager.GetActiveScene().name; } // Update is called once per frame void Update() { } public static IEnumerator Wait() { yield return new WaitForSeconds(2); } public void ScenetToMoveTo() { // Only for Dungeon & Dungeon Manger if(gameObject.GetComponent() != null) { gameObject.GetComponent().LeveEventInfo(); } //saving info about used gate/door/teleport OnMapAppearanceMethod.SetTeleportedStatus(); PlayerPrefs.SetString("gateway.sourceMapName", gateway.currentMapName); PlayerPrefs.SetString("gateway.nextMapName", gateway.nextMapName); PlayerPrefs.SetFloat("gateway.respawnCoords.x", gateway.respawnCoords.x); PlayerPrefs.SetFloat("gateway.respawnCoords.y", gateway.respawnCoords.y); PlayerPrefs.SetFloat("gateway.respawnCoords.z", gateway.respawnCoords.z); // 1. Save all before change scene SaveController.GetComponent().SavePlayerEquipmentItems(); SaveController.GetComponent().SavePlayerQuests(); SaveController.GetComponent().SavePlayerInventory(); SaveController.GetComponent().SaveHealth(); SaveController.GetComponent().SaveChests(); SaveController.GetComponent().SaveShops(); SaveController.GetComponent().SaveDialogues(); SaveController.GetComponent().SaveMissions(); SaveController.GetComponent().SaveItemsOnMap(); // 2. Change scene SceneManager.LoadScene(gateway.nextMapName); // 3. Save additional controls SkillsUIManager.Instance.keyToOpen = (KeyCode) System.Enum.Parse(typeof(KeyCode), PlayerPrefs.GetString("Skills")); DisplayExpStatus.keyToExp = (KeyCode) System.Enum.Parse(typeof(KeyCode), PlayerPrefs.GetString("EXP HEALTH")); DisplayHealthStatus.keyToHealth = (KeyCode) System.Enum.Parse(typeof(KeyCode), PlayerPrefs.GetString("EXP HEALTH")); DisplayExpStatus.keyToExp = (KeyCode) System.Enum.Parse(typeof(KeyCode), PlayerPrefs.GetString("ExpHlth")); DisplayHealthStatus.keyToHealth = (KeyCode) System.Enum.Parse(typeof(KeyCode), PlayerPrefs.GetString("ExpHlth")); PlayerPrefs.Save(); } }