using UnityEngine; using System.Collections; using UnityEngine.SceneManagement; using UnityEngine.UI; public class InBetweenDoors : MonoBehaviour { public string sceneName; public GameObject player; public Transform[] spawnPoint; public Text doorText; //teleporting player when leaving back to the door they initially entered (to target) void OnLevelWasLoaded() { player.transform.position = spawnPoint[EnterDoor.spawnPointIndex].position; } void Start() { } // when creating extra doors, add spawnPoint[] in correct order in the inspector. void OnTriggerEnter2D(Collider2D collider) { if (this.CompareTag("ToTown01")) { EnterDoor.townIndex = 1; EnterDoor.spawnPointIndex = 0; Debug.Log("The index is:" + EnterDoor.spawnPointIndex); } if (this.CompareTag("ToTown02")) { EnterDoor.townIndex = 2; EnterDoor.spawnPointIndex = 1; Debug.Log("The index is:" + EnterDoor.spawnPointIndex); } if (collider.CompareTag("Player") && EnterDoor.spawnPointIndex == 0) { doorText.text = ("Press [F] to go to Medieval Town"); if (Input.GetKeyDown("f")) { EnterDoor.spawnPointIndex = 4; SceneManager.LoadScene(sceneName); } } if (collider.CompareTag("Player") && EnterDoor.spawnPointIndex == 1) { doorText.text = ("Press [F] to go to Desert Town"); if (Input.GetKeyDown("f")) { EnterDoor.spawnPointIndex = 4; SceneManager.LoadScene(sceneName); } } } void OnTriggerStay2D(Collider2D collider) { if (collider.tag == "Player" && EnterDoor.spawnPointIndex != 3) { if (Input.GetKeyDown("f")) { SceneManager.LoadScene(sceneName); } } } void OnTriggerExit2D(Collider2D collider) { if (collider.tag == "Player") { doorText.text = (""); // reset the "Press [F]...." text } } }