40 lines
1.1 KiB
C#
40 lines
1.1 KiB
C#
using UnityEngine;
|
|
|
|
public class BukaLaci : MonoBehaviour
|
|
{
|
|
public Transform laci; // Objek laci yang digerakkan
|
|
public Vector3 posisiTertutup; // Posisi lokal saat tertutup
|
|
public Vector3 posisiTerbuka; // Posisi lokal saat terbuka
|
|
public Transform pemain; // Objek pemain
|
|
public float jarakMaksimal = 2f; // Jarak maksimal untuk membuka laci
|
|
|
|
private bool terbuka = false;
|
|
|
|
void Start()
|
|
{
|
|
// Set posisi awal (jika belum diatur)
|
|
if (laci != null)
|
|
laci.localPosition = posisiTertutup;
|
|
}
|
|
|
|
void Update()
|
|
{
|
|
if (laci == null || pemain == null) return;
|
|
|
|
float jarak = Vector3.Distance(pemain.position, laci.position);
|
|
|
|
// Cek apakah pemain cukup dekat
|
|
if (jarak <= jarakMaksimal && !terbuka)
|
|
{
|
|
laci.localPosition = posisiTerbuka;
|
|
terbuka = true;
|
|
}
|
|
// Cek apakah pemain menjauh
|
|
else if (jarak > jarakMaksimal && terbuka)
|
|
{
|
|
laci.localPosition = posisiTertutup;
|
|
terbuka = false;
|
|
}
|
|
}
|
|
}
|