Exemple #1
0
    void OnTriggerEnter(Collider other)
    {
        if (other.tag == "WorldStatic")
        {
            opacitySpeed = maxOpacitySpeed;
        }

        if (other.tag == "Player")
        {
            opacitySpeed = maxOpacitySpeed;
        }

        RedEyesController rec = GameObject.Find("RedEyesController").GetComponent <RedEyesController> ();

        if (other.tag == "Player")
        {
            if (!other.GetComponent <PlayerScript> ().blocked)
            {
                if (rec.canMakeText())
                {
                    Debug.Log("Player blink!!");
                    other.GetComponent <PlayerScript>().Blink(4.0f);
                    Vector3 newPos = other.gameObject.transform.position;
                    newPos.y = newPos.y + 2.5f;
                    GameObject newText;
                    newText = (GameObject)Instantiate(thoughtTextPrefab, newPos, Quaternion.Euler(0, 0, 0));
                    string sss = stringBank.getNextStringId();
                    sss = stringBank.getNextString();
                    newText.GetComponent <TextMesh> ().text = stringBank.getNextString();
                    rec.textMade();
                    //letter.decLetter ();
                    letter.decStep();
                    letter.decStep();
                    //letter.decStep();
                    //letter.decStep();
                    //letter.decStep();
                    //letter.decStep();
                }
            }
        }
    }
Exemple #2
0
    void Start()
    {
        ros = GameObject.Find("Rosetta").GetComponent <Rosetta>();
        cam = GameObject.Find("Main Camera").GetComponent <Camera> ();
        cam.farClipPlane = 300000;

        StringBank bank = stringBanks.bank[0];

        bank.reset();
        bank.rosetta = ros;
        for (int i = 0; i < 7; ++i)
        {
            string sId = bank.getNextString();
            //texts [i].text = StringUtils.chopLines (sId, 35);
            texts[i].GetComponent <ThoughtText>().setText(StringUtils.chopLines(sId, 35));
        }
    }
    void OnTriggerEnter(Collider other)
    {
        if (state == WhirlwindState.dying)
        {
            return;
        }

        if (other.tag != "Player")
        {
            return;
        }
        else
        {
            parent.frozen = true;
        }

        // tell the player to spawn shadow. Will return bool value
        // if player.spawnShadow() returns true, continue spawning the shadow
        //  otherwise, return doing nothing
        if (!other.gameObject.GetComponent <PlayerScript> ().spawnShadow())
        {
            return;
        }

        string lvl      = parent.level.locationName.Substring(0, 6);
        string key      = lvl + "SpawnedShadows";
        int    nShadows = parent.level.retrieveIntValue(key);

        int control, strength;

        control  = shadowSpawnController.getControl();
        strength = shadowSpawnController.getStrength();

        if (nShadows < 4)
        {
            shadowStringBank  = shadowStringBanks.bank [nShadows];
            redEyesStringBank = redEyesStringBanks.bank [nShadows];


            GameObject newShadow;
            newShadow = (GameObject)Instantiate(shadowPrefab, other.gameObject.transform.position + new Vector3(0, 0.0f, 0), Quaternion.Euler(0, 0, 0));

            // check spawn direction
            bool       rightOK = false;
            bool       leftOK  = false;
            RaycastHit hit;
            rightOK = !Physics.Raycast(other.gameObject.transform.position, Vector3.right, 10.0f);
            leftOK  = !Physics.Raycast(other.gameObject.transform.position, Vector3.left, 10.0f);

            if (leftOK && (!rightOK))
            {
                newShadow.GetComponent <Shadow> ().spawnDirection = -1.0f;
            }

            shadowStringBank.rosetta = rosetta;
            placesStringBank.rosetta = rosetta;
            datesStringBank.rosetta  = rosetta;
            string sssId = shadowStringBank.getNextStringId();
            string sss   = shadowStringBank.getNextString();
            string pl    = placesStringBank.getNextStringId();
            pl = placesStringBank.getNextString();
            string dt = datesStringBank.getNextStringId();
            dt = datesStringBank.getNextString();

            shadowSpawnController.phrase.setText(sss);
            shadowSpawnController.phrase.fadeIn();
            shadowSpawnController.phrase.fadeOut(5.0f);

            shadowSpawnController.dates.setText(dt);
            shadowSpawnController.dates.fadeIn();
            shadowSpawnController.dates.fadeOut(5.0f);

            shadowSpawnController.places.setText(pl);
            shadowSpawnController.places.fadeIn();
            shadowSpawnController.places.fadeOut(5.0f);


            if (sssId.Contains("Familia"))
            {
                shadowSpawnController.iconAnimation [iconFamily].resetAnimation();
                shadowSpawnController.iconFader[iconFamily].fadeIn();
                shadowSpawnController.iconFader[iconFamily].fadeOut(5.0f);
            }
            if (sssId.Contains("Amigos"))
            {
                shadowSpawnController.iconAnimation [iconFriends].resetAnimation();
                shadowSpawnController.iconFader[iconFriends].fadeIn();
                shadowSpawnController.iconFader[iconFriends].fadeOut(5.0f);
            }
            if (sssId.Contains("Pareja"))
            {
                shadowSpawnController.iconAnimation [iconWork].resetAnimation();
                shadowSpawnController.iconFader[iconCouple].fadeIn();
                shadowSpawnController.iconFader[iconCouple].fadeOut(5.0f);
            }
            if (sssId.Contains("Trabajo"))
            {
                shadowSpawnController.iconAnimation [iconWork].resetAnimation();
                shadowSpawnController.iconFader[iconWork].fadeIn();
                shadowSpawnController.iconFader[iconWork].fadeOut(5.0f);
            }


            newShadow.GetComponent <Shadow> ().thoughtTextPrefab = thoughtTextPrefab;
            newShadow.GetComponent <Rigidbody> ().velocity       = new Vector3(0, 0, 0);
            newShadow.GetComponent <Shadow> ().initialize();
            newShadow.GetComponent <Shadow> ().eyesPrefab = redeyesPrefab;
            redEyesStringBank.rosetta             = rosetta;
            newShadow.GetComponent <Shadow> ().id = nShadows;
            newShadow.GetComponent <Shadow> ().redEyesStringBank = redEyesStringBank;
            newShadow.GetComponent <Shadow> ().rosetta           = rosetta;

            shadowSpawnController.addShadow(newShadow.GetComponent <Shadow> ());

            parent.level.storeIntValue(key, ++nShadows);


            GameObject newCGaugeGO;
            GameObject newSGaugeGO;
            newCGaugeGO = (GameObject)Instantiate(shadowSpawnController.csGaugePrefab, other.gameObject.transform.position + new Vector3(-2.0f, 5.8f, 0), Quaternion.Euler(0, 0, 0));
            newSGaugeGO = (GameObject)Instantiate(shadowSpawnController.csGaugePrefab, other.gameObject.transform.position + new Vector3(2.0f, 5.8f, 0), Quaternion.Euler(0, 0, 0));
            ShadowPowerIndicator con = newCGaugeGO.GetComponent <ShadowPowerIndicator> ();
            ShadowPowerIndicator str = newSGaugeGO.GetComponent <ShadowPowerIndicator> ();
            con.initialize(true, control);
            str.initialize(false, strength);
            con.transform.SetParent(newShadow.transform);
            str.transform.SetParent(newShadow.transform);
            con.transform.localScale = new Vector3(2, 2, 2);
            str.transform.localScale = new Vector3(2, 2, 2);
        }

        this.state = WhirlwindState.dying;
    }
Exemple #4
0
    // Update is called once per frame
    void Update()
    {
        debuggg.text = "" + estado + " (" + state + ")";
        //mcRef.loadLvl.allowSceneActivation = carga;

        if (estado == "logo")
        {
            elapsedTime += Time.deltaTime;

            if (elapsedTime > minTime)
            {
                if (Input.GetMouseButtonDown(0))
                {
                    elapsedTime = delayTime + 1.0f;
                }
            }

            if ((elapsedTime > delayTime) && state == 0)
            {
                //fader._wa_fadeOut (this);
                fRef.fadeOut();
                state = 1;
            }

            if (!fRef.isFading && state == 1)
            {
                estado = "titulo";
                grupoLogo.SetActive(false);
                fRef.fadeIn();

                state = 0;
            }
        }

        if (estado == "titulo")
        {
            if (state == 0)
            {
                if (elapsedTimeTitle < 2.0f)
                {
                    elapsedTimeTitle += Time.deltaTime;
                }
                else
                {
                    ++state;
                }
            }
            if (state == 1)
            {
                heroGlow.glow();
                tocaParaEmpezar.SetActive(true);
                loadingStringBank.rosetta = rosetta;
                loadingStringBank.reset();
                loadingText.text = loadingStringBank.getNextString();
                tocaParaEmpezar.GetComponent <TextMesh> ().text = loadingStringBank.getNextString();
                //touchToStartText.text = loadingStringBank.getNextString ();
//				touchToStartText.transform.localScale = Vector3.zero;
//				touchToStartText.GetComponent<TouchToStart> ().reset ();
//				touchToStartText.GetComponent<Renderer> ().enabled = true;
                ++state;
            }

            ++count;
            if (count == 10)
            {
                //fRef = fadeRef.GetComponent<FaderScript> ();

                //fRef.setFadeValue (0.0f);

                //fRef.fadeIn ();
            }

            if (Input.GetMouseButtonDown(0) && !tocaParaEmpezar.GetComponent <TouchToStart>().wait)               // if screen touched

            {
                fRef.fadeOut();                  // start a fadeout
                beginTime = Time.time;
                mcRef.setVolume(0, 1.5f);
            }

            if ((beginTime > 0.0f) && (Time.time - beginTime) > 2.0)               // wait for 2 seconds

            {
                vText.enabled = false;
                uiload.load();
                //this.activityFinish ();
                estado = "cargando";
                mcRef.LoadAsync();
                contador = 2;
            }
        }

        if (estado == "cargando")
        {
            contador -= Time.deltaTime;
            if (contador <= 0)
            {
                this.activityFinish();
            }
        }
    }
    new void Update()
    {
        bool change = Utils.updateSoftVariable(ref sparkScale, sparkTargetScale, 30.0f);

        if (change)
        {
            spark1.transform.localScale = new Vector3(sparkScale, sparkScale, sparkScale);
            spark2.transform.localScale = new Vector3(sparkScale, sparkScale, sparkScale);
            spark3.transform.localScale = new Vector3(sparkScale, sparkScale, sparkScale);
        }

        if (state == QAControllerState.idle)
        {
            elapsedTime += Time.deltaTime;


            if (elapsedTime > initialDelay)
            {
                letterOutputSpeed = slowletterOutputSpeed;
                state             = QAControllerState.idle2;
            }
        }

        if (state == QAControllerState.idle2)
        {
            /* extract question and answers */

            ab            = qa.getNextBank();
            correctAnswer = qb.correntAnswer [currentQuestion];
            ab.rosetta    = rosetta;
            qb.rosetta    = rosetta;

            ab.reset();

            burn [currentQuestion].lightUp();

            question = qb.getNextString();

            state = QAControllerState.printingQuestion;

            questionLetterOutput = 0.0f;
        }

        if (state == QAControllerState.printingQuestion)
        {
            int letters = (int)questionLetterOutput;

            if (Input.GetMouseButtonDown(0))
            {
                letterOutputSpeed = fastletterOutputSpeed;
            }

            if ((letters > 2) && (letters < question.Length - 2))
            {
                questionText.text = "<color=" + color1 + ">" + question.Substring(0, letters) + "</color>" +
                                    "<color=" + color2 + ">" + question.Substring(letters, 1) + "</color>" +
                                    "<color=" + color3 + ">" + question.Substring(letters + 1, 1) + "</color>" +
                                    "<color=" + color4 + ">" + question.Substring(letters + 2, question.Length - 1 - letters - 2) +
                                    "</color>";
            }
            if (letters == question.Length)
            {
                questionText.text = question;
            }
            questionLetterOutput += letterOutputSpeed * Time.deltaTime;

            if (letters > question.Length - 1)
            {
                letters           = question.Length - 1;
                questionText.text = "" + question;
                state             = QAControllerState.waitingForAnswer;

                for (int i = 0; i < maxAnswers; ++i)
                {
                    answerGO [i] = null;
                }

                float yPos = YAdjust - (question.Length / QuestionLettersPerLine) * QuestionLineHeight;
                for (int i = 0; i < ab.nItems(); ++i)
                {
                    GameObject newAnswer;
                    newAnswer = Instantiate(QAnswerPrefab);
                    newAnswer.transform.SetParent(answerPanel.transform);
                    newAnswer.transform.localScale = Vector3.one;
                    newAnswer.GetComponent <RectTransform>().sizeDelta        = new Vector2(800, 45);
                    newAnswer.GetComponent <RectTransform>().anchoredPosition = Vector2.zero;
                    newAnswer.GetComponent <Text> ().alignment = TextAnchor.UpperCenter;
                    newAnswer.GetComponent <QAAnswer> ().initialize(yPos);
                    newAnswer.GetComponent <QAAnswer> ().answerNumber = i + 1;
                    int nLines;
                    newAnswer.GetComponent <QAAnswer> ().setText(StringUtils.chopLines(ab.getNextString(), 85, out nLines));
                    newAnswer.GetComponent <QAAnswer> ().setDelay(i * 0.3f);
                    yPos        -= (InterAnswerDistance + AnswerLineHeight * (nLines - 1));
                    answerGO [i] = newAnswer;
                }
            }
        }

        if (state == QAControllerState.waitingForAnswer)
        {
            bool waiting = true;
            for (int i = 0; i < ab.nItems(); i++)
            {
                if (answerGO [i].GetComponent <QAAnswer> ().state != QAAnswerState.idle)
                {
                    waiting = false;
                }
                else
                {
                    waiting = true;
                }
            }

            if (waiting)
            {
                for (int i = 0; i < ab.nItems(); i++)
                {
                    answerGO [i].GetComponent <QAAnswer> ().state = QAAnswerState.ready;
                    state = QAControllerState.waitingForAnswer2;
                }
            }
        }

        if (state == QAControllerState.waitingForAnswer2)
        {
        }

        if (state == QAControllerState.answered)
        {
            letterOutputSpeed = slowletterOutputSpeed;
            for (int i = 0; i < ab.nItems(); ++i)
            {
                if (answerGO [i].GetComponent <QAAnswer> ().answerNumber != selectedAnswer)
                {
                    answerGO [i].GetComponent <QAAnswer> ().dispose();
                }
                else
                {
                    answerGO [i].GetComponent <QAAnswer> ().blink(selectedAnswer == correctAnswer);
                    if (selectedAnswer == correctAnswer)
                    {
                        levelRef.playSound(hitSound);
                    }
                    else
                    {
                        levelRef.playSound(missSound);
                    }
                }
            }

            elapsedTime = 0.0f;
            state       = QAControllerState.preparingNextQuestion;
        }

        if (state == QAControllerState.preparingNextQuestion)
        {
            elapsedTime += Time.deltaTime;
            if (elapsedTime > postAnswerTimeOut)
            {
                elapsedTime = 0.0f;
                state       = QAControllerState.preparingNextQuestion2;
                if (selectedAnswer == correctAnswer)
                {
                    burn [currentQuestion].burstInFlames();
                }
                else
                {
                    ++nMisses;
                    if (nMisses > 1)
                    {
                        fader._wa_fadeOut(this);
                        keyChannel = -1;
                        // mark this flame for resurrection, please
                        string lvl           = ds.retrieveStringValue("CurrentLevelFlame");
                        int    FlameIndex    = ds.retrieveIntValue("CurrentFlameIndex");
                        string FlameName     = ds.retrieveStringValue("FlameResurrectionName" + lvl + FlameIndex);
                        string FlameLocation = ds.retrieveStringValue("FlameResurrectionLocation" + lvl + FlameIndex);
                        ds.storeIntValue("Flame" + (FlameIndex) + "Resurrect" + FlameLocation, 3);
                        ds.storeStringValue("Flame" + (FlameIndex) + "Resurrect" + FlameLocation, FlameName);
                        this.isWaitingForActionToComplete = true;
                        state = QAControllerState.exitting3;
                    }
                }
                if (currentQuestion == numQuestions - 1)
                {
                    //fader._wa_fadeOut (this);
                    //this.isWaitingForActionToComplete = true;
                    /* do the flower thing */
                    flowerRenderQuad.GetComponent <GameObjectFader> ().fadeIn();
                    flowerAnim.SetBool("open", true);
                    spark1Anim.SetBool("open", true);
                    spark2Anim.SetBool("open", true);
                    spark3Anim.SetBool("open", true);
                    levelRef.dipMusic(4);
                    levelRef.playSound(sparksSound);
                    sparkTargetScale = 60.0f;
                    elapsedTime      = 0.0f;
                    state            = QAControllerState.exitting1;
                }
            }
        }

        if (state == QAControllerState.preparingNextQuestion2)
        {
            elapsedTime += Time.deltaTime;
            if (elapsedTime > postAnswerTimeOut)
            {
                questionText.text = "";
                ++currentQuestion;
                state = QAControllerState.idle;
            }
        }

        if (state == QAControllerState.exitting1)
        {
            elapsedTime += Time.deltaTime;
            if (elapsedTime > 5.6f)
            {
                fader.setFadeColor(1, 1, 1);
                fader._wa_fadeOut(this);
                keyImageFader.fadeIn();
                youGotAKeyTextFader.fadeIn();
                this.isWaitingForActionToComplete = true;
                state = QAControllerState.exitting2;
            }
        }

        if (state == QAControllerState.exitting2)
        {
            if (!isWaitingForActionToComplete)
            {
                levelRef.playSound(winSound);
                elapsedTime = 0.0f;
                state       = QAControllerState.exitting3;
            }
        }

        if (state == QAControllerState.exitting3)
        {
            elapsedTime += Time.deltaTime;
            if (elapsedTime > 2.0f)
            {
                secondFader.setFadeValue(1.0f);
                secondFader.setFadeColor(0, 0, 0);
                secondFader._wa_fadeOut(this);
                this.isWaitingForActionToComplete = true;
                state = QAControllerState.exitting4;
            }
        }

        if (state == QAControllerState.exitting4)
        {
            string rLoc = mcRef.getStorage().retrieveStringValue("ReturnLocation");
            string lvl  = rLoc.Substring(0, 6);

            if (isWaitingForActionToComplete)
            {
            }
            else
            {
                switch (keyChannel)
                {
                case 0:
                    mcRef.getStorage().storeBoolValue("Has" + lvl + "RedKey", true);
                    break;

                case 1:
                    mcRef.getStorage().storeBoolValue("Has" + lvl + "OrangeKey", true);
                    break;

                case 2:
                    mcRef.getStorage().storeBoolValue("Has" + lvl + "BlueKey", true);
                    break;

                case 3:
                    mcRef.getStorage().storeBoolValue("Has" + lvl + "GreenKey", true);
                    break;

                case 4:
                    mcRef.getStorage().storeBoolValue("Has" + lvl + "YellowKey", true);
                    break;

                case 5:
                    mcRef.getStorage().storeBoolValue("Has" + lvl + "PurpleKey", true);
                    break;

                case 6:
                    mcRef.getStorage().storeBoolValue("Has" + lvl + "BrownKey", true);
                    break;
                }
                mcRef.getStorage().storeBoolValue("IsHUDCracked", false);                   // return HUD crack to non-crcked

                // increment number of keys
                string curLev = mcRef.getStorage().retrieveStringValue("CurrentLevel");
                int    n      = mcRef.getStorage().retrieveIntValue(curLev + "NumberOfKeys");
                ++n;
                mcRef.getStorage().storeIntValue(curLev + "NumberOfKeys", n);
                SceneManager.LoadScene(rLoc);
            }
        }
    }
    new void Update()
    {
        float relX;        //, relY;

        relX = chipCurrentPos.x / Screen.width;
        //relY = chipCurrentPos.y / Screen.height;
        string currentCard;

        currentCard = chip.GetComponent <ChipTrigger>().SayName();

        if (currentCard == "WhiteCard")
        {
            whiteHalo.GetComponent <Glower> ().glow();
            chipOnWhite = true;
        }
        else
        {
            whiteHalo.GetComponent <Glower> ().reglow();
            chipOnWhite = false;
        }
        if (currentCard == "BlackCard")
        {
            blackHalo.GetComponent <Glower> ().glow();
            chipOnBlack = true;
        }
        else
        {
            blackHalo.GetComponent <Glower> ().reglow();
            chipOnBlack = false;
        }

        /*if ((relX > 0.89f) && (relX <= 0.965f) &&!chipInserted) {
         *      whiteHalo.color = new Color (1, 1, 1, 1);
         *      chipOnWhite = true;
         * } else {
         *      whiteHalo.color = new Color (1, 1, 1, 0);
         *      chipOnWhite = false;
         * }
         *
         * if ((relX > 0.04f) && (relX <= 0.10f) &&!chipInserted) {
         *      blackHalo.color = new Color (1, 1, 1, 1);
         *      chipOnBlack = true;
         * } else {
         *      blackHalo.color = new Color (1, 1, 1, 0);
         *      chipOnBlack = false;
         * }*/

        if (chipPicked)
        {
            chip.transform.position = chipCurrentPos = chipRelaxPos + (Input.mousePosition - chipCapturePos);
        }
        else
        {
            if (chipCurrentPos != chipRelaxPos)
            {
                Vector3 dir = chipRelaxPos - chipCurrentPos;
                dir.Normalize();
                dir            *= 36.0f;
                chipCurrentPos += dir;
                // check if we overpast the target
                Vector3 checkDir = chipRelaxPos - chipCurrentPos;
                if (Vector3.Dot(checkDir, dir) < 0.0f)
                {
                    chipCurrentPos = chipRelaxPos;
                }
                chip.transform.position = chipCurrentPos;
            }
        }

        if (chipInserted)
        {
            chipScale -= 6.0f * Time.deltaTime;
            if (chipScale < 0.0f)
            {
                chipScale = 0.0f;
            }
            chip.transform.localScale = new Vector3(chipScale, chipScale, chipScale);
        }

        /* wait for touch */
        if (state == 0)
        {
            elapsedTime += Time.deltaTime;
            if (elapsedTime > smallDelay)
            {
                ++state;

                string id = mc.getStorage().retrieveStringValue("TVFerfuflosId");
                nTimes = mc.getStorage().retrieveIntValue("TVFerfuflosTimes" + id);
                mc.getStorage().storeIntValue("TVFerfuflosTimes" + id, nTimes + 1);
            }
            //if (Input.GetMouseButtonDown (0))
            //	++state;
        }
        if (state == 1)
        {
            int testStatus = 0;
            rollController.reset();
            do
            {
                diceResult      = Random.Range(3, 18 + 1);
                sabiaOIgnorante = Random.Range(0, 2);
                if (sabiaOIgnorante == 0)
                {
                    sabiaOIgnorante--;
                }
                if (sabiaOIgnorante == 1)
                {
                    cual = Random.Range(0, sabias [diceResult - 3].nItems());
                }
                else
                {
                    cual = Random.Range(0, ignorantes [diceResult - 3].nItems());
                }
                if (sabiaOIgnorante == 1)
                {
                    testStatus = mc.getStorage().retrieveIntValue("Ferfuflo" + diceResult + "+1" + cual);
                }
                else
                {
                    testStatus = mc.getStorage().retrieveIntValue("Ferfuflo" + diceResult + "-1" + cual);
                }
            } while(testStatus != 0);
            //thisBatchVariables.Add ("Ferfuflo" + diceResult + "" + sabiaOIgnorante + "" + cual);
            if (sabiaOIgnorante == 1)
            {
                thisBatchVariables.Add("Ferfuflo" + diceResult + "+1" + cual);
            }
            else
            {
                thisBatchVariables.Add("Ferfuflo" + diceResult + "-1" + cual);
            }
            rollController.play(diceResult);
            ++state;
        }

        if (state == 2)
        {
            if (rollController.resultReady)
            {
                ++state;
                transmission.text = transmissionBank.getString(rollController.rollResult);
                string sss = propositionBank.getString(rollController.rollResult);
                assertion.text = StringUtils.chopLines(sss, 30);
                if (sabiaOIgnorante == 1)
                {
                    lameAnswers = sabias [rollController.rollResult - 3];
                }
                else
                {
                    lameAnswers = ignorantes [rollController.rollResult - 3];
                }
                lameAnswers.rosetta = rosetta;
                lameAnswers.reset();
                //answer.text = StringUtils.chopLines(lameAnswers.getNextString (), 25);
                answer.GetComponent <Renderer> ().material.SetColor("_Tint", new Color(1, 1, 1, 0));
                curtainOpenLeft();
                adsAnim.SetBool("whiteNoise", true);
                elapsedTime = 0.0f;
                //ads.transform.position = new Vector3 (0, 0, 10);
                // ACTIVAR LAS ??? Y EL OFFSET DE LA IMAGEN TVCRACKED
                TV.GetComponent <TVController>().ShowParticles();
            }
        }

        if (state == 3)
        {
            if (elapsedTime <= 0.35f)
            {
                elapsedTime += Time.deltaTime;
                if (elapsedTime >= 0.35f)
                {
                    ads.transform.position = new Vector3(0, -20, 10);
                }
            }
            if (currentCurtainPosition == targetCurtainPosition)
            {
                ++state;
            }
        }

        if (state == 4)
        {
            if (Input.GetMouseButtonDown(0))
            {
                opacity = 1.0f;
                ++state;
            }
        }

        if (state == 5)
        {
            opacity -= opacitySpeed * Time.deltaTime;
            if (opacity < 0.0f)
            {
                opacity           = 0.0f;
                answer.text       = StringUtils.chopLines(lameAnswers.getNextString(), 25);
                assertion.text    = "";
                transmission.text = "";
                TV.GetComponent <TVController> ().ChangeTexture();
                ++state;
            }

            assertion.GetComponent <Renderer> ().material.SetColor("_Tint", new Color(1, 1, 1, opacity));
            transmission.GetComponent <Renderer> ().material.SetColor("_Tint", new Color(1, 1, 1, opacity));
        }

        if (state == 6)
        {
            opacity += opacitySpeed * Time.deltaTime;
            if (opacity >= 1.0f)
            {
                opacity     = 1.0f;
                elapsedTime = 0.0f;
                answer.GetComponent <Renderer> ().material.SetColor("_Tint", new Color(1, 1, 1, opacity));
                //opacity = 0.0f;
                //if (opacity >= 1.0f) {  QUIZAS SEA MEJOR OPCION
                if (Input.GetMouseButtonDown(0))
                {
                    opacity = 0.0f;
                    ++state;
                }
            }
            else
            {
                answer.GetComponent <Renderer> ().material.SetColor("_Tint", new Color(1, 1, 1, opacity));
            }
        }

        if (state == 7)
        {
            opacity += 6.0f * Time.deltaTime;
            if (opacity > 1.0f)
            {
                opacity = 1.0f;
                ++state;
            }
            whiteCard.GetComponent <Image>().color  = new Color(1, 1, 1, opacity);
            blackCard.GetComponent <Image> ().color = new Color(1, 1, 1, opacity);
            chip.GetComponent <Image> ().color      = new Color(1, 1, 1, opacity);
        }


        if (state == 9)
        {
            if (amountRequired == (nTimes + 1))           // exit! trance
            {
                state = 10;
            }
            else
            {
                state = 12;                 // nos quedamos
            }
        }

        if (state == 10)
        {
            elapsedTime += Time.deltaTime;
            if (elapsedTime > 3.0f)
            {
                if (batchCorrect())
                {
                    mc.getStorage().storeIntValue("TVBatchResult", 1);
                }
                else
                {
                    resetBatchFerfuflosAnswers();
                    mc.getStorage().storeIntValue("TVBatchResult", -1);
                }
                fader._wa_fadeOut(this);
                this.isWaitingForActionToComplete = true;
                ++state;
            }
        }

        if (state == 11)
        {
            if (isWaitingForActionToComplete)
            {
                return;
            }

            countFerfuflosAnswers();

            string returnLoc = mc.getStorage().retrieveStringValue("ReturnLocation");

            UnityEngine.SceneManagement.SceneManager.LoadScene(returnLoc);
        }

        if (state == 12)
        {
            opacity -= 6.0f * Time.deltaTime;
            if (opacity <= 0.0f)
            {
                opacity = 0.0f;
                ++state;
                rollController.resetAnimation();
            }
            answer.GetComponent <Renderer> ().material.SetColor("_Tint", new Color(1, 1, 1, opacity));
            whiteCard.GetComponent <Image>().color  = new Color(1, 1, 1, opacity);
            blackCard.GetComponent <Image> ().color = new Color(1, 1, 1, opacity);
            chip.GetComponent <Image> ().color      = new Color(1, 1, 1, opacity);
        }

        if (state == 13)           // loop back
        {
            reset();

            state       = 0;
            elapsedTime = 0;
        }

        if (currentCurtainPosition < targetCurtainPosition)
        {
            currentCurtainPosition += curtainSpeed * Time.deltaTime;
            if (currentCurtainPosition > targetCurtainPosition)
            {
                currentCurtainPosition = targetCurtainPosition;
            }

            currentAlphaCurtain.transform.position = new Vector3(currentCurtainPosition,
                                                                 currentAlphaCurtain.transform.position.y,
                                                                 currentAlphaCurtain.transform.position.z);
        }

        if (currentCurtainPosition > targetCurtainPosition)
        {
            currentCurtainPosition -= curtainSpeed * Time.deltaTime;
            if (currentCurtainPosition < targetCurtainPosition)
            {
                currentCurtainPosition = targetCurtainPosition;
            }

            currentAlphaCurtain.transform.position = new Vector3(currentCurtainPosition,
                                                                 currentAlphaCurtain.transform.position.y,
                                                                 currentAlphaCurtain.transform.position.z);
        }
    }
Exemple #7
0
    new void Update()
    {
        if (state == WordFightControllerState.delay0 && substate == -5)
        {
            cam._wa_warpToMarker(this, 4);
            substate = -4;
        }

        if (state == WordFightControllerState.delay0 && substate == -4)           // everything black

        {
            elapsedTime += Time.deltaTime;
            if (elapsedTime > 2.6f)
            {
                elapsedTime  = 0.0f;
                substate     = -3;
                shadow.faded = false;
                hero.faded   = false;               // characters appear
            }
        }

        if (state == WordFightControllerState.delay0 && substate == -3)           // characters separate

        {
            elapsedTime += Time.deltaTime;
            if (elapsedTime > 1.6f)
            {
                elapsedTime      = 0.0f;
                substate         = -2;
                shadow.displaced = false;
                hero.displaced   = false;
                cam._wa_moveToMarker(this, 3);
            }
        }

        if (state == WordFightControllerState.delay0 && substate == -2)
        {
            elapsedTime += Time.deltaTime;
            if (elapsedTime > 1.6f)
            {
                elapsedTime = 0.0f;
                substate    = -1;
                shadow.setAnimation(0);
                hero.setAnimation(0);
            }
        }

        if (state == WordFightControllerState.delay0 && substate == -1)
        {
            elapsedTime += Time.deltaTime;
            if (elapsedTime > 1.2f)
            {
                elapsedTime = 0.0f;
                substate    = 0;
                shadow.setAnimation(1);
                hero.setAnimation(1);
            }
        }

        if (state == WordFightControllerState.delay0 && substate == 0)
        {
            elapsedTime += Time.deltaTime;
            if (elapsedTime > 0.4f)
            {
                if (tutorialMode)
                {
                    chispAlert._wa_alert(this, chispaStuff.getString(AHORAAPRENDERAS));
                    this.isWaitingForActionToComplete = true;
                }
                //shadow.setAnimation (0);
                //hero.setAnimation (0);
                ++substate;
                elapsedTime = 0.0f;
            }
        }

        if (state == WordFightControllerState.delay0 && substate == 1)
        {
            elapsedTime += Time.deltaTime;
            if (elapsedTime > 0.2f)
            {
                substate = 0;
                state    = WordFightControllerState.delay;
                //cam.lerpSpeed = 1.6f;
                // CAMBIAR TIEMPO DEL ITWEEN ?
                //shadow.setAnimation (1);
                //hero.setAnimation (1);
            }
        }

        if (state == WordFightControllerState.delay)
        {
            if (isWaitingForActionToComplete)
            {
                return;
            }

            chispAlert.close();

            elapsedTime += Time.deltaTime;
            if (elapsedTime > 0.5f)
            {
                state = WordFightControllerState.zoomToPlayer0;
                heroFan.open();
                cam._wa_moveToMarker(this, 1);
            }
        }

        if (state == WordFightControllerState.zoomToPlayer0)
        {
            if (isWaitingForActionToComplete)
            {
                return;
            }
            // else {
            string currentLvl = ds.retrieveStringValue("CurrentLevel").Substring(0, 6);


            int nHeroes = 0;
            if (ds.retrieveBoolValue("Has" + currentLvl + "Warrior"))
            {
                ++nHeroes;
            }
            if (ds.retrieveBoolValue("Has" + currentLvl + "Master"))
            {
                ++nHeroes;
            }
            if (ds.retrieveBoolValue("Has" + currentLvl + "Philosopher"))
            {
                ++nHeroes;
            }
            if (ds.retrieveBoolValue("Has" + currentLvl + "Explorer"))
            {
                ++nHeroes;
            }
            if (ds.retrieveBoolValue("Has" + currentLvl + "Sage"))
            {
                ++nHeroes;
            }
            if (ds.retrieveBoolValue("Has" + currentLvl + "Wizard"))
            {
                ++nHeroes;
            }
            if (ds.retrieveBoolValue("Has" + currentLvl + "Yogi"))
            {
                ++nHeroes;
            }

            if (nHeroes == 0)
            {
                chispAlert._wa_alert(this, chispaStuff.getString(NOTIENESNINGUN));
                substate = 0;
                this.isWaitingForActionToComplete = true;
                state = WordFightControllerState.loseFromTheBeginning;
            }
            else if (tutorialMode)
            {
                chispAlert._wa_alert(this, chispaStuff.getString(DEBESELEGIR));
                this.isWaitingForActionToComplete = true;
                state    = WordFightControllerState.zoomToPlayer1;
                substate = 0;
            }
            else
            {
                state = WordFightControllerState.zoomToPlayer;
            }
        }

        if (state == WordFightControllerState.zoomToPlayer1 && substate == 0)
        {
            if (isWaitingForActionToComplete)
            {
                return;
            }
            if (tutorialMode)
            {
                chispAlert._wa_alert(this, chispaStuff.getString(JUZGALOS));
            }
            substate = 1;
        }
        if (state == WordFightControllerState.zoomToPlayer1 && substate == 1)
        {
            if (isWaitingForActionToComplete)
            {
                return;
            }
            if (tutorialMode)
            {
                chispAlert._wa_alert(this, chispaStuff.getString(CONQUEHEROE));
            }
            state = WordFightControllerState.zoomToPlayer2;
        }

        if (state == WordFightControllerState.zoomToPlayer2)
        {
            if (tutorialMode)
            {
                if (isWaitingForActionToComplete)
                {
                    return;
                }
                chispAlert.close();
            }
            state = WordFightControllerState.zoomToPlayer;
        }

        if (state == WordFightControllerState.zoomToPlayer)
        {
            if (Input.GetMouseButtonDown(0))
            {
                RaycastHit hit;
                Ray        ray = cam.gameObject.GetComponent <Camera>().ScreenPointToRay(Input.mousePosition);

                if (Physics.Raycast(ray, out hit))
                {
                    GameObject objectHit = hit.transform.gameObject;

                    if (objectHit.tag == "Hero")
                    {
                        WordFightHero h = objectHit.GetComponent <WordFightHero> ();

                        chosenHero = h.wisdom;
                        heroFan.keep(h.wisdom);
                        //heroFan.close ();

                        state       = WordFightControllerState.delay2;
                        substate    = -2;
                        elapsedTime = 0.0f;
                    }
                }
            }
        }

        if (state == WordFightControllerState.loseFromTheBeginning && substate == 0)
        {
            if (Input.GetMouseButtonDown(0))
            {
                chispAlert.close();
                fader._wa_fadeOut(this);
                this.isWaitingForActionToComplete = true;
                substate = 1;
            }
        }
        if (state == WordFightControllerState.loseFromTheBeginning && substate == 1)
        {
            if (!isWaitingForActionToComplete)
            {
                ds.storeIntValue("AlphabetReward", -Reward * 6);
                string ret = ds.retrieveStringValue("ReturnLocation");
                SceneManager.LoadScene(ret);
            }
        }

        if (state == WordFightControllerState.delay2 && substate == -2)
        {
            elapsedTime += Time.deltaTime;
            if (elapsedTime > 0.5f)
            {
                ++substate;
                heroFan.closeSlowly();
            }
        }

        if (state == WordFightControllerState.delay2 && substate == -1)
        {
            elapsedTime += Time.deltaTime;
            if (elapsedTime > 1.5f)
            {
                ++substate;
                heroGlow.glow();
                //heroFan.closeSlowly ();
            }
        }

        if (state == WordFightControllerState.delay2 && substate == 0)
        {
            elapsedTime += Time.deltaTime;
            if (elapsedTime > 3.5f)
            {
                elapsedTime = 0.0f;
                //cam._wa_moveToMarker (this, 3);
                cam._wm_moveToMarker(3);
                ++substate;
                if (!chosenHero.Equals(requiredWisdom))
                {
                    state    = WordFightControllerState.loseFromTheBeginning;
                    substate = 0;
                    chispAlert._wa_alert(this, chispaStuff.getString(NOHASELEGIDO));
                    fader.setFadeColor(0, 0, 0);
                    //fader.fadeOut ();
                }
                else if (tutorialMode)
                {
                    chispAlert._wa_alert(this, chispaStuff.getString(HASELEGIDOSABIA));
                    ++substate;
                }
            }
        }

        if (state == WordFightControllerState.delay2 && substate == 1)
        {
            ++substate;
        }
        if (state == WordFightControllerState.delay2 && substate == 2)
        {
            if (tutorialMode)
            {
                if (isWaitingForActionToComplete)
                {
                    return;
                }
                chispAlert.close();
            }
            ++substate;
        }

        if (state == WordFightControllerState.delay2 && substate == 3)
        {
            elapsedTime += Time.deltaTime;
            if (elapsedTime > 0.75f)
            {
                elapsedTime = 0.0f;

                shadowBar.grow();
                playerBar._wa_grow(this);
                //hero.fighting = true;
                //shadow.fighting = true;
                hero.showHalo();
                shadow.showHalo();
                //yingYang._wa_grow (this);

                timeToNextBlob = FloatRandom.floatRandomRange(minTimeToNextBlob / difficulty, maxTimeToNextBlob / difficulty);
                ++substate;
                // Cambiar esto para jugar en serio
                shadowEnergy = 0.1f;
                playerEnergy = 1.0f;
            }
        }

        if (state == WordFightControllerState.delay2 && substate == 4)
        {
            if (isWaitingForActionToComplete)
            {
                return;
            }

            if (tutorialMode)
            {
                chispAlert._wa_alert(this, chispaStuff.getString(TANTOTUSOMBRA));
            }
            ++substate;
        }

        if (state == WordFightControllerState.delay2 && substate == 5)
        {
            if (tutorialMode)
            {
                if (isWaitingForActionToComplete)
                {
                    return;
                }
            }

            if (tutorialMode)
            {
                chispAlert._wa_alert(this, chispaStuff.getString(TUAURAESLUM));
            }
            ++substate;
        }

        if (state == WordFightControllerState.delay2 && substate == 6)
        {
            if (tutorialMode)
            {
                if (isWaitingForActionToComplete)
                {
                    return;
                }
                chispAlert.close();
            }
            yinYang._wa_grow(this);

            ++substate;
        }

        if (state == WordFightControllerState.delay2 && substate == 7)
        {
            if (isWaitingForActionToComplete)
            {
                return;
            }

            hero.fighting   = true;
            shadow.fighting = true;
            elapsedTime     = 0.0f;
            if (tutorialMode)
            {
                ++substate;
            }
            else
            {
                state = WordFightControllerState.fightStart;
            }
        }

        if (state == WordFightControllerState.delay2 && substate == 8)
        {
            elapsedTime += Time.deltaTime;
            if (elapsedTime > 1.5f)
            {
                if (tutorialMode)
                {
                    chispAlert._wa_alert(this, chispaStuff.getString(QUETIENESQUEHACER));
                }
                ++substate;
            }
        }

        if (state == WordFightControllerState.delay2 && substate == 9)
        {
            if (tutorialMode)
            {
                if (isWaitingForActionToComplete)
                {
                    return;
                }
            }

            if (tutorialMode)
            {
                chispAlert._wa_alert(this, chispaStuff.getString(CADAPALABRASERA));
            }
            ++substate;
        }

        if (state == WordFightControllerState.delay2 && substate == 10)
        {
            if (tutorialMode)
            {
                if (isWaitingForActionToComplete)
                {
                    return;
                }

                chispAlert._wa_alert(this, chispaStuff.getString(DEBESTOCARLOS));
            }
            elapsedTime = 0.0f;
            ++substate;
        }

        if (state == WordFightControllerState.delay2 && substate == 11)
        {
            if (tutorialMode)
            {
                if (isWaitingForActionToComplete)
                {
                    return;
                }
                chispAlert.close();
            }
            elapsedTime = 0.0f;
            ++substate;
        }

        if (state == WordFightControllerState.delay2 && substate == 12)
        {
            elapsedTime += Time.deltaTime;
            if (elapsedTime > 1.0f)
            {
                yinYang.emitBlob(GenericGoodStuffBank.getNextString(), true);
                elapsedTime = 0.0f;
                ++substate;
            }
        }

        if (state == WordFightControllerState.delay2 && substate == 13)
        {
            elapsedTime += Time.deltaTime;
            if (elapsedTime > 1.0f)
            {
                emittedBlob = GameObject.Find("WFBlob").GetComponent <WordFightWordBlob> ();
                emittedBlob.pause();
                chispAlert._wa_alert(this, chispaStuff.getString(YINYANGEMITIDOBUENO));
                ++substate;
            }
        }

        if (state == WordFightControllerState.delay2 && substate == 14)
        {
            if (isWaitingForActionToComplete)
            {
                return;
            }

            chispAlert.close();
            emittedBlob.unpause();
            shadowBar.queryClear();
            ++substate;
        }

        /* wait until player drags word onto yingyang */
        if (state == WordFightControllerState.delay2 && substate == 15)
        {
            checkMouseClick();

            if (shadowBar.queryEvent("HealthBarEvent"))
            {
                substate = 17;
                chispAlert._wa_alert(this, chispaStuff.getString(HASILUMINADO));
            }

            if (emittedBlob == null && shadowBar.targetBarFraction == 1)
            {
                yinYang.emitBlob(GenericGoodStuffBank.getNextString(), true);
                ++substate;
            }
        }

        if (state == WordFightControllerState.delay2 && substate == 16)
        {
            GameObject g = GameObject.Find("WFBlob");
            if (g != null)
            {
                emittedBlob = g.GetComponent <WordFightWordBlob> ();
                substate    = 15;
            }
        }

        if (state == WordFightControllerState.delay2 && substate == 17)
        {
            if (isWaitingForActionToComplete)
            {
                return;
            }
            chispAlert.close();
            ++substate;
            elapsedTime = 0.0f;
        }

        if (state == WordFightControllerState.delay2 && substate == 18)
        {
            elapsedTime += Time.deltaTime;
            if (elapsedTime > 1.0f)
            {
                yinYang.emitBlob(GenericNaughtyStuffBank.getNextString(), false);
                elapsedTime = 0.0f;
                ++substate;
            }
        }

        if (state == WordFightControllerState.delay2 && substate == 19)
        {
            elapsedTime += Time.deltaTime;
            if (elapsedTime > 1.0f)
            {
                emittedBlob = GameObject.Find("WFBlob").GetComponent <WordFightWordBlob> ();
                emittedBlob.pause();
                chispAlert._wa_alert(this, chispaStuff.getString(YINYANGEMITIDOMALO));
                ++substate;
            }
        }

        if (state == WordFightControllerState.delay2 && substate == 20)
        {
            if (isWaitingForActionToComplete)
            {
                return;
            }

            chispAlert.close();
            elapsedTime = 0.0f;
            ++substate;
        }


        if (state == WordFightControllerState.delay2 && substate == 21)
        {
            elapsedTime += Time.deltaTime;

            if (elapsedTime > 1.0f)
            {
                emittedBlob.unpause();
                ++substate;
            }
        }

        /* wait until naughtyWord has gone away */
        if (state == WordFightControllerState.delay2 && substate == 22)
        {
            checkMouseClick();

            /* blob has hit player. Emit another */
            if (emittedBlob == null && playerBar.queryEvent("HealthBarEvent"))
            {
                yinYang.emitBlob(GenericNaughtyStuffBank.getNextString(), false);
                ++substate;
                return;
            }

            if (playerBar.targetBarFraction < 0.5f)
            {
                playerBar.targetBarFraction = 0.9f;
            }

            /* blob has flown away. To next substate */
            if (emittedBlob == null && !playerBar.queryEvent("HealthBarEvent"))
            {
                substate = 24;
            }
        }

        if (state == WordFightControllerState.delay2 && substate == 23)
        {
            /* spawn new blob */
            GameObject g = GameObject.Find("WFBlob");
            if (g != null)
            {
                emittedBlob = g.GetComponent <WordFightWordBlob> ();
                substate    = 22;
            }
        }

        if (state == WordFightControllerState.delay2 && substate == 24)
        {
            chispAlert._wa_alert(this, chispaStuff.getString(CONTINUALABATALLA));
            ++substate;
        }

        if (state == WordFightControllerState.delay2 && substate == 25)
        {
            if (isWaitingForActionToComplete)
            {
                return;
            }
            chispAlert.close();
            state = WordFightControllerState.fightStart;
        }

        if (state == WordFightControllerState.fightEndWin && substate == 0)
        {
            cam.moveToMarker(2, 5);
            yinYang.home();
            elapsedTime = 0.0f;
            ++substate;
            ds.storeIntValue("AlphabetReward", Reward);
            int defeated = ds.retrieveIntValue("DefeatedShadows");
            ++defeated;
            ds.storeIntValue("DefeatedShadows", defeated);
            ds.storeBoolValue("WordFightTutorialDone", true);
        }

        if (state == WordFightControllerState.fightEndWin && substate == 1)
        {
            if (yinYang.isFinishedHoming())
            {
//				yinYang.GetComponent<Renderer> ().enabled = false;
//				justYin.GetComponent<Renderer> ().enabled = true;
//				justYang.GetComponent<Renderer> ().enabled = true;
                //blackSquare.GetComponent<Renderer> ().enabled = true;
                ++substate;
                elapsedTime = 0.0f;
            }
        }

        if (state == WordFightControllerState.fightEndWin && substate == 2)
        {
            elapsedTime += Time.deltaTime;
//			Vector3 pos;
//			pos = justYin.transform.localPosition;
//			pos.x += Time.deltaTime;
//			justYin.transform.position = pos;
//			pos = justYang.transform.localPosition;
//			pos.x -= Time.deltaTime;
//			justYang.transform.position = pos;
//			pos = blackSquare.transform.localScale;
//			pos.x -= Time.deltaTime;
//			blackSquare.transform.localScale = pos;

            if (!faderWhite.GetComponent <FaderItween>().action)
            {
                faderWhite.GetComponent <FaderItween> ().action = true;
            }

            if (elapsedTime > faderWhite.GetComponent <FaderItween> ().timeTo)
            {
                string levelName = ds.retrieveStringValue("CurrentLevel").Substring(0, 6);
                int    nWave     = ds.retrieveIntValue(levelName + "ShadowWaveNumber");
                ++nWave;
                ds.storeIntValue(levelName + "ShadowWaveNumber", nWave);                  // increment wave number
                //Handheld.PlayFullScreenMovie ("4.mp4", Color.black, FullScreenMovieControlMode.CancelOnInput);
                if (Version.versionType == VersionType.demo)
                {
                    string returnLocation = ds.retrieveStringValue("ReturnLocation");
                    SceneManager.LoadScene(returnLocation);
                }
                else
                {
                    //string currentHero = ds.retrieveStringValue ();
                    int numHero = ds.retrieveIntValue("Has" + requiredWisdom);
                    //ds.storeStringValue ("TheaterFolder", requiredWisdom + numHero);
                    //SceneManager.LoadScene ("Scenes/Theater");
                    int wins = ds.retrieveIntValue("WordFightWins");
                    ds.storeIntValue("WordFightWins", ++wins);
                    ds.storeBoolValue("JustWonFight", true);
                    ds.storeBoolValue("FadeWhite", true);
                    string returnLocation = ds.retrieveStringValue("ReturnLocation");
                    SceneManager.LoadScene(returnLocation);
                }
            }
        }

        if (state == WordFightControllerState.fightEndLose && substate == 0)
        {
            chispAlert._wa_alert(this, chispaStuff.getString(HASPERDIDOLABATALLA));
            fader.setFadeColor(0, 0, 0);
            this.isWaitingForActionToComplete = true;
            ++substate;
        }

        if (state == WordFightControllerState.fightEndLose && substate == 1)
        {
            if (isWaitingForActionToComplete)
            {
                return;
            }

            chispAlert.close();
            fader._wa_fadeOut(this);
            this.isWaitingForActionToComplete = true;
            ++substate;
        }

        if (state == WordFightControllerState.fightEndLose && substate == 2)
        {
            if (isWaitingForActionToComplete)
            {
                return;
            }

            this.isWaitingForActionToComplete = true;
            ++substate;
        }

        if (state == WordFightControllerState.fightEndLose && substate == 3)
        {
            if (!this.isWaitingForActionToComplete)
            {
                string ret = ds.retrieveStringValue("ReturnLocation");
                ds.storeIntValue("AlphabetReward", -Reward);
                SceneManager.LoadScene(ret);
            }
        }

        if (state == WordFightControllerState.fightStart)
        {
            elapsedTime += Time.deltaTime;
            if (elapsedTime > timeToNextBlob)
            {
                elapsedTime    = 0.0f;
                timeToNextBlob = FloatRandom.floatRandomRange(minTimeToNextBlob / difficulty, maxTimeToNextBlob / difficulty);

                float chance = FloatRandom.floatRandomRange(0.0f, 1.0f);

                if (chance < 0.5f)
                {
                    string ns = GenericGoodStuffBank.getNextString();
                    int    a  = ns.Length;
                    yinYang.emitBlob(ns, true);
                }
                else
                {
                    string ns  = GenericNaughtyStuffBank.getNextString();
                    int    hhh = ns.Length;
                    yinYang.emitBlob(ns, false);
                }
            }

            if (Input.GetMouseButtonDown(0))
            {
                RaycastHit[] hits;
                Ray          ray = cam.gameObject.GetComponent <Camera>().ScreenPointToRay(Input.mousePosition);

                hits = Physics.RaycastAll(ray);
                for (int i = 0; i < hits.Length; ++i)
                {
                    GameObject objectHit = hits[i].transform.gameObject;

                    if (objectHit.tag == "TextBlob")
                    {
                        WordFightWordBlob theBlob = objectHit.GetComponent <WordFightWordBlob> ();
                        //theBlob.tab = tab;
                        theBlob.pickUp(hits[i].point);

                        //Destroy (objectHit);
                    }
                    else if (objectHit.tag == "RayCastBillboard")
                    {
                        Vector3 worldCoords = hits[i].point;
                    }
                }
            }
        }
    }