public void Check(CheckButtonDragScript button) { BlockAllLetterRaycasts(true); WordItem currentWordItem = Words[wordItemCount]; string currentWord = currentWordItem.Word; var upperWord = ""; foreach (var upperLetter in targetHolderDragList) { var upperChar = upperLetter.GetComponentInChildren <Text>().text; upperWord = upperWord + upperChar; } if (currentWord.Equals(upperWord)) { // start coroutine bei der erst feedback anbgegeben wird, dann feedback gelöscht wird, dann scene cleanup, + scene switch //show right symvol StartCoroutine(ShowPositiveDragFeedback()); } else { //show wrong symbol StartCoroutine(ShowNegativeFeedbackDrag()); } writeToText(upperWord); }
public void PrepareDragScene() { SW.Stop(); SW.Reset(); //use current Task of TaskItemList WordItem currentWord = Words[wordItemCount]; //instantiate CheckButton var checkButtonDrag = Instantiate(CheckButtonPrefab, CheckBox.transform) as GameObject; checkButtonScript = checkButtonDrag.GetComponent <CheckButtonDragScript>(); checkButtonScript.SetInteractable(false); //instantiate menu button var menuButtonGo = Instantiate(MenuButton, MenuButtonBox.transform); _menuButtonDragScript = menuButtonGo.GetComponent <MenuButtonDragScript>(); _menuButtonDragScript.SetInteractable(true); var listenButtonGo = Instantiate(ListenButton, ListenBox.transform); _listenScript = listenButtonGo.GetComponent <ListenDragScript>(); _listenScript.SetInteractable(true); foreach (var distractorStr in currentWord.Distractors) { //instantiate button holder in lowerBox var holderDrag = Instantiate(ButtonHolderPrefab, LowerBox.transform); var holderDragScript = holderDrag.GetComponent <LetterHolderDragScript>(); holderDragScript.Lower = true; //instantiate Button var letterDrag = Instantiate(LetterDragPrefab, holderDrag.transform) as GameObject; var letterScript = letterDrag.GetComponent <LetterTextScript>(); letterScript.Holder = holderDragScript; //set textvalue to distractor char letterScript.GetComponentInChildren <Text>().text = distractorStr; //set button to the lower box and to a disctractor letterScript.LowerBox = true; letterScript.IsDistractor = true; //add distractor to letterlist _letterList.Add(letterDrag.GetComponent <LetterTextScript>()); //Set button position to occupied in lower box holderDragScript.IsTaken = true; //? ##tell the holderGo (and its script) that he is holding "letterScript" now. This is the button gameobject with the letter in it. So he knows that he is holding the letter, by setting the "takenletter" variable (if we need it later on) holderDragScript.TakenLetter = letterScript; //add button to holder lowerbox list _startHolderDragList.Add(holderDragScript); } //instantiate wordletter buttons and add them to the lowerboxlist foreach (var letterChar in currentWord.Word) { //instantiate lower button box var holderDrag = Instantiate(ButtonHolderPrefab, LowerBox.transform); var holderDragScript = holderDrag.GetComponent <LetterHolderDragScript>(); holderDragScript.Lower = true; //instantiate button var letterDrag = Instantiate(LetterDragPrefab, holderDrag.transform) as GameObject; var letterScript = letterDrag.GetComponent <LetterTextScript>(); letterScript.Holder = holderDragScript; //set textvalue of button to wordletter char letterScript.GetComponentInChildren <Text>().text = letterChar.ToString(); //set button to lower box and to not a distractor letterScript.LowerBox = true; letterScript.IsDistractor = false; //add letter to letterlist _letterList.Add(letterDrag.GetComponent <LetterTextScript>()); //push true letters to list for finish function trueLetters.Add(letterDrag.GetComponent <LetterTextScript>()); //set buttonposition to occupied in lower box holderDragScript.IsTaken = true; //? ## same as above, but with the correctButtonLetter holderDragScript.TakenLetter = letterScript; //add button to lowerbox list _startHolderDragList.Add(holderDragScript); } //shuffle the buttons foreach (Transform child in LowerBox.transform) { child.SetSiblingIndex(Random.Range(0, LowerBox.transform.childCount)); } // creates an empty box in the upper box for each character in the word letter foreach (var letter in currentWord.Word) { //instantiates the gameobjects var letterDrag = Instantiate(ButtonHolderPrefab, UpperBox.transform) as GameObject; var targetDrag = letterDrag.GetComponent <LetterHolderDragScript>(); targetDrag.Lower = false; //sets the empty box to not yet occupied targetDrag.IsTaken = false; //add an entry in the upperbox list targetHolderDragList.Add(targetDrag); } Listen(); //start Stopwatch SW.Start(); }