Exemplo n.º 1
0
    private IEnumerator SpawnObject(float seconds)
    {
        if (Spawnable())
        {
            yield return(new WaitForSeconds(seconds));

            var obj = spawnableObjects.FirstOrDefault(x => x.tag == "Obstacle");
            spawnLocation = new Vector3(12, Random.Range(-8, 12), 0);

            if (selectedRevision != null && SceneDoesntContainWordObstacle())
            {
                if (Random.Range(0, 2) == 0)
                {
                    spawnLocation = new Vector3(12, 12, 0);
                    obj           = spawnableObjects.FirstOrDefault(x => x.tag == "Word Obstacle");
                    foreach (var component in obj.GetComponentsInChildren <Text>())
                    {
                        if (component.name == "Word")
                        {
                            component.text = selectedRevision.variant.text;
                        }
                        if (component.name == "Answer")
                        {
                            var answer = RevisionAnswerHandler.GenerateAnswer(selectedRevision);
                            component.text = answer;
                        }
                    }
                }
            }
            //if the scene contains a word obstacle, don't spawn any standard obstacles at that height
            if (GameObject.FindGameObjectsWithTag("Word Obstacle").Length > 0)
            {
                spawnLocation = new Vector3(12, Random.Range(-8, 8), 0);
            }

            Instantiate(obj, spawnLocation, Quaternion.identity);

            //We've spawned, so now we could start another spawn
            isSpawning = false;
        }
    }
Exemplo n.º 2
0
    public void CheckWordCollision(GameObject wordObject)
    {
        var selectedWord         = selectedRevision.variant.text;
        var selectedAnswer       = selectedRevision.translation.text;
        var possibleWrongAnswers = selectedRevision.wrong_answers;

        foreach (var component in wordObject.GetComponentsInChildren <Text>())
        {
            var correct = RevisionAnswerHandler.IsCorrect(selectedAnswer, possibleWrongAnswers, component);

            if (correct)
            {
                revisions.Remove(selectedRevision);
                selectedRevision = revisions.FirstOrDefault();
                scoreCount      += 1;
            }
            else
            {
                selectedRevision.wrong_answers.Remove(component.text);
            }
        }
        Destroy(wordObject);
    }