Player respawn code:
using UnityEngine;
public class PlayerRespawn : MonoBehaviour
{
private Transform currentCheckpoint; //Storeing our last checkpoint here
private Health playerHealth;
private void Awake()
{
playerHealth = GetComponent<Health>();
}
public void Respawn()
{
transform.position = currentCheckpoint.position; //move player to checkpoint position
playerHealth.Respawn(); // Restore the player health
// Move camera to checkpoint room
Camera.main.GetComponent<CameraController>().MoveToNewRoom(currentCheckpoint.parent);
}
// Activate checkpoint
private void OnTriggerEnter2D(Collider2D collision)
{
if (collision.transform.tag == "Checkpoint")
{
currentCheckpoint = collision.transform;
collision.GetComponent<Collider2D>().enabled = false;
}
}
}