using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement; public class AnimatedDoorBehaviour : TriggerDoor { public GameObject SaveController; [SerializeField] public Gateway gateway; [SerializeField] public bool isEnabled = true; Animator animator; void Awake() { DoorOpenAnimatorParamName = "DoorOpen"; } // Start is called before the first frame update void Start() { animator = GetComponent<Animator>(); gateway.currentMapName = SceneManager.GetActiveScene().name; } // Update is called once per frame void Update() { } private IEnumerator coroutine; private IEnumerator Wait(float waitTime) { while (true) { yield return new WaitForSeconds(waitTime); } } public void ScenetToMoveTo() { //coroutine = Wait(2.0f); //StartCoroutine(coroutine); animator.SetBool(DoorOpenAnimatorParamName, true); //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<SaveController>().SavePlayerEquipmentItems(); SaveController.GetComponent<SaveController>().SavePlayerQuests(); SaveController.GetComponent<SaveController>().SavePlayerInventory(); SaveController.GetComponent<SaveController>().SaveHealth(); SaveController.GetComponent<SaveController>().SaveAccountBalance(); SaveController.GetComponent<SaveController>().SaveChests(); SaveController.GetComponent<SaveController>().SaveShops(); SaveController.GetComponent<SaveController>().SaveDialogues(); SaveController.GetComponent<SaveController>().SaveMissions(); SaveController.GetComponent<SaveController>().SaveItemsOnMap(); // 2. Change scene SceneManager.LoadScene(gateway.nextMapName); } }