74 lines
2.7 KiB
C#
74 lines
2.7 KiB
C#
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()
|
|
{
|
|
// Only for Dungeon & Dungeon Manger
|
|
if(gameObject.GetComponent<EntryEventObserver>() != null)
|
|
{
|
|
gameObject.GetComponent<EntryEventObserver>().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<SaveController>().SavePlayerEquipmentItems();
|
|
SaveController.GetComponent<SaveController>().SavePlayerQuests();
|
|
SaveController.GetComponent<SaveController>().SavePlayerInventory();
|
|
SaveController.GetComponent<SaveController>().SaveHealth();
|
|
|
|
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);
|
|
|
|
// 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();
|
|
}
|
|
}
|