74 lines
2.0 KiB
C#
74 lines
2.0 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;
|
|
|
|
|
|
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();
|
|
|
|
// 2. Change scene
|
|
SceneManager.LoadScene(gateway.nextMapName);
|
|
}
|
|
}
|