Scriptum/Assets/Scripts/AnimatedDoorBehaviour.cs
2023-01-10 23:55:41 +01:00

82 lines
2.3 KiB
C#

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>().SaveChests();
SaveController.GetComponent<SaveController>().SaveShops();
SaveController.GetComponent<SaveController>().SaveDialogues();
SaveController.GetComponent<SaveController>().SaveMissions();
SaveController.GetComponent<SaveController>().SaveItemsOnMap();
// 2. Change scene
SceneManager.LoadScene(gateway.nextMapName);
}
}