using UnityEngine; public class Checkpoint : MonoBehaviour { private AudioManager audioManager; private bool isActive = false; private void Start() { audioManager = GameObject.FindGameObjectWithTag("Audio")?.GetComponent(); } private void OnTriggerEnter2D(Collider2D collision) { if (!isActive && collision.CompareTag("Player")) { isActive = true; // Play checkpoint sound if (audioManager != null && audioManager.checkpoint != null) { audioManager.PlaySFX(audioManager.checkpoint); } // Disable the checkpoint collider GetComponent().enabled = false; // Trigger checkpoint animation if any Animator anim = GetComponent(); if (anim != null) { anim.SetTrigger("appear"); } // Update player's respawn position PlayerRespawn playerRespawn = collision.GetComponent(); if (playerRespawn != null) { playerRespawn.SetRespawnPoint(transform.position); } } } }