public void OnDrop(PointerEventData eventData) { if (eventData.pointerDrag != null) { SemivowelItemScript draggedObject = eventData.pointerDrag.GetComponent <SemivowelItemScript>(); GameObject overSizeObject = draggedObject.instanceOfObject; if (overSizeObject != null) { // SasVToggle, SasCToggle int index = row * 3 + column; if (index < 4 && draggedObject.SasCToggle.isOn) { overSizeObject.transform.parent = this.transform.GetChild(0).transform.GetChild(0).transform; overSizeObject.GetComponent <CanvasGroup>().blocksRaycasts = true; OverSizePageFourScript overSizeItemScript = overSizeObject.GetComponent <OverSizePageFourScript>(); overSizeItemScript.addedToParent = true; } else if (index > 3 && draggedObject.SasVToggle.isOn) { overSizeObject.transform.parent = this.transform.GetChild(0).transform.GetChild(0).transform; overSizeObject.GetComponent <CanvasGroup>().blocksRaycasts = true; OverSizePageFourScript overSizeItemScript = overSizeObject.GetComponent <OverSizePageFourScript>(); overSizeItemScript.addedToParent = true; } } } }
public void OnDrop(PointerEventData eventData) { if (eventData.pointerDrag != null && !this.transform.GetChild(0).GetComponent <Text>().text.Equals("")) { SemivowelItemScript draggedObject = eventData.pointerDrag.GetComponent <SemivowelItemScript>(); GameObject overSizeObject = draggedObject.instanceOfObject; if (overSizeObject != null) { // Generate a combined item SemivowelItemScript semivowelItem = draggedObject; GameObject combinedItem = (GameObject)Instantiate(anotherItem, this.transform.parent); combinedItem.GetComponent <CanvasGroup>().blocksRaycasts = true; OverSizePageFourScript combinedScript = combinedItem.GetComponent <OverSizePageFourScript>(); Phoneme combinedPhoneme = new Phoneme(); int newLength = phoneme.phones.Length + 1; combinedPhoneme.phones = new ProtoPhone[newLength]; Debug.Log(semivowelItem); // Fill the combined item according to the panel and toggle if (parentIndex < 4) { for (int i = 0; i < phoneme.phones.Length; i++) { combinedPhoneme.phones[i] = phoneme.phones[i]; } combinedPhoneme.phones[newLength - 1] = semivowelItem.phone; // Combine the semivowel as a part of consonant cluster if (semivowelItem.LallVToggle.isOn) { combinedPhoneme.letters = phoneme.letters + semivowelItem.letter; } else { combinedPhoneme.letters = phoneme.letters; combinedPhoneme.successing = semivowelItem.letter; if (phoneme.successing != null) { Destroy(combinedItem); } } } else { combinedPhoneme.phones[0] = semivowelItem.phone; for (int i = 0; i < phoneme.phones.Length; i++) { combinedPhoneme.phones[i + 1] = phoneme.phones[i]; } if (semivowelItem.FallCToggle.isOn) { combinedPhoneme.letters = semivowelItem.letter + phoneme.letters; } else { combinedPhoneme.letters = phoneme.letters; combinedPhoneme.preceding = semivowelItem.letter; if (phoneme.preceding != null) { Destroy(combinedItem); } } } // Fille the text string conIPA = ""; for (int i = 0; i < combinedPhoneme.phones.Length; i++) { conIPA += combinedPhoneme.phones[i].IPA; } combinedScript.IPAText.text = conIPA; combinedScript.letterText.text = combinedPhoneme.letters; combinedScript.frequencyText.text = phoneme.frequency.ToString(); combinedScript.phoneme = combinedPhoneme; Destroy(overSizeObject); } } }