Scriptum/Assets/Scripts/AnimatedDoorBehaviour.cs
2022-12-10 02:24:32 +01:00

69 lines
1.9 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;
public string DoorOpenAnimatorParamName = "DoorOpen";
Animator animator;
// Start is called before the first frame update
void Start()
{
animator = GetComponent<Animator>();
}
// 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();
// 2. Change scene
SceneManager.LoadScene(gateway.nextMapName);
}
}