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; } } } }
private IEnumerator waitToDestroy() { yield return(new WaitForSeconds(0.1f)); if (instanceOfObject != null) { OverSizePageFourScript overSizeItemScript = instanceOfObject.GetComponent <OverSizePageFourScript>(); if (!overSizeItemScript.addedToParent) { Destroy(instanceOfObject); } } }
// Convert phoneme to oversize item private void convertPhonemeToOversizeItemFour(Phoneme toItem, GameObject fromPhoneme) { OverSizePageFourScript attachedScript = fromPhoneme.GetComponent <OverSizePageFourScript>(); attachedScript.addedToParent = true; attachedScript.phoneme = toItem; string conIPA = ""; for (int i = 0; i < toItem.phones.Length; i++) { conIPA += toItem.phones[i].IPA; } attachedScript.IPAText.text = conIPA; attachedScript.letterText.text = toItem.letters; attachedScript.frequencyText.text = toItem.frequency.ToString(); }
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); } } }