using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement; public class DoorBehaviour : MonoBehaviour { public GameObject SaveController; [SerializeField] public Gateway gateway; // 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() { //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(); // 2. Change scene SceneManager.LoadScene(gateway.nextMapName); } }