using UnityEngine; using UnityEngine.EventSystems; public class WadahPuzzleUI : MonoBehaviour, IDropHandler { public string idWadah; // Isi di Inspector: P1, P2, dst (Samakan dengan Kepingan) public void OnDrop(PointerEventData eventData) { if (eventData.pointerDrag != null) { PotonganPuzzleUI kepinganScript = eventData.pointerDrag.GetComponent(); // CEK JODOH: Apakah ID Kepingan == ID Wadah? if (kepinganScript != null && kepinganScript.idPotongan == idWadah) { RectTransform kepinganRect = eventData.pointerDrag.GetComponent(); // 1. Tempel posisi tepat ke tengah wadah ini kepinganRect.position = GetComponent().position; // 2. SIHIR MEKAR: Balikin skala ke 1.0 biar pas menutup wadah putih kepinganRect.localScale = Vector3.one; // 3. Masukkan jadi anak Wadah di Hierarchy biar rapi kepinganScript.transform.SetParent(transform); // 4. KUNCI: Matikan deteksi raycast biar kepingan nggak bisa ditarik lagi kepinganScript.GetComponent().blocksRaycasts = false; Debug.Log("Pas Bos! Puzzle Terpasang."); } } } }