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().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(); 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); } } }