Vùng tự động lưu game (Save Zone)
C# Code
using UnityEngine;
// Gắn script này vào một GameObject có Collider được set là Is Trigger
[RequireComponent(typeof(Collider))]
public class SaveZone : MonoBehaviour
{
private bool hasBeenTriggered = false;
private void OnTriggerEnter(Collider other)
{
// Kiểm tra xem đối tượng va chạm có phải là Player không
if (other.CompareTag("Player") && !hasBeenTriggered)
{
hasBeenTriggered = true; // Đánh dấu đã kích hoạt
Debug.Log("Player entered save zone. Saving game...");
// --- Đặt logic lưu game của bạn ở đây ---
// Ví dụ:
// SaveSystem.Instance.SaveGame();
// PlayerPrefs.SetInt("LastCheckpoint", 1); PlayerPrefs.Save();
// ----------------------------------------
// Tùy chọn: Vô hiệu hóa vùng save này sau khi đã sử dụng
// gameObject.SetActive(false);
}
}
// Tùy chọn: Reset lại trạng thái khi người chơi rời khỏi vùng
// để họ có thể lưu lại khi quay trở lại.
private void OnTriggerExit(Collider other)
{
if (other.CompareTag("Player"))
{
hasBeenTriggered = false;
Debug.Log("Player exited save zone. Ready to save again.");
}
}
}Tự động kích hoạt việc lưu game khi người chơi đi vào một khu vực được chỉ định (Trigger). Chỉ lưu một lần mỗi khi vào vùng.