Ekosistem_Game/Assets/Script/WadahPuzzleUI.cs

33 lines
1.3 KiB
C#

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<PotonganPuzzleUI>();
// CEK JODOH: Apakah ID Kepingan == ID Wadah?
if (kepinganScript != null && kepinganScript.idPotongan == idWadah) {
RectTransform kepinganRect = eventData.pointerDrag.GetComponent<RectTransform>();
// 1. Tempel posisi tepat ke tengah wadah ini
kepinganRect.position = GetComponent<RectTransform>().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<CanvasGroup>().blocksRaycasts = false;
Debug.Log("Pas Bos! Puzzle Terpasang.");
}
}
}
}