MIF_E31230979/Assets/Scripts/TangkapSayur/ItemProperty.cs

46 lines
1.5 KiB
C#

using UnityEngine;
using UnityEngine.UI;
public class ItemProperty : MonoBehaviour
{
public DataSayur dataItem; // Slot untuk naruh Data_Brokoli, dll
[Header("Pengaturan Gerak")]
public float fallSpeed = 300f; // Kecepatan jatuh (diisi otomatis oleh Spawner)
public float rotationSpeed = 100f; // Kecepatan putar
public void Inisialisasi()
{
if (dataItem != null)
{
// 1. Ganti gambar secara otomatis sesuai data
GetComponent<Image>().sprite = dataItem.gambarSayurVisual;
// 2. Ganti Tag secara otomatis berdasarkan data
gameObject.tag = dataItem.apakahSayur ? "Sayur" : "JunkFood";
}
}
void Update()
{
// --- 1. LOGIKA JATUH (PENTING) ---
// Karena ini UI, kita pakai RectTransform agar posisinya akurat di Canvas
RectTransform rt = GetComponent<RectTransform>();
if (rt != null)
{
// Bergerak ke bawah: Posisi Y dikurangi terus menerus
rt.anchoredPosition += Vector2.down * fallSpeed * Time.deltaTime;
}
// --- 2. LOGIKA ROTASI ---
// Sayur berputar pelan biar estetik
transform.Rotate(0, 0, rotationSpeed * Time.deltaTime);
// --- 3. PENGHANCUR OTOMATIS ---
// Jika sayur sudah jatuh lewat bawah layar (misal Y < -700), hapus biar gak berat
if (rt != null && rt.anchoredPosition.y < -700f)
{
Destroy(gameObject);
}
}
}