// Use this for initialization
    new void Start()
    {
        mcRef       = GameObject.Find("MasterController").GetComponent <MasterControllerScript> ();
        rosetta     = GameObject.Find("Rosetta").GetComponent <Rosetta> ();
        ds          = mcRef.getStorage();
        visitNumber = ds.retrieveIntValue("TopFloorVisitNumber");

        bank         = stringBankCol.getBank(visitNumber);
        bank.rosetta = rosetta;
        bank.reset();

        int nFloaters;

        nFloaters = bank.nItems();
        floater   = new HeavyLevitatingFollower[nFloaters];

        for (int i = 0; i < nFloaters; ++i)
        {
            Vector3 newPos = player.transform.position;
            newPos.x -= 5 * i;
            GameObject newFloater = (GameObject)Instantiate(floaterPrefab, newPos, Quaternion.Euler(0, 0, 0));
            floater [i]            = newFloater.GetComponent <HeavyLevitatingFollower> ();
            floater [i].player     = player;
            floater [i].nearRadius = 2.0f + i * 1.0f;
            floater [i].initialize();
        }

        questionNumber = 0;
    }
    // Use this for initialization
    void Start()
    {
        elapsedTime          = 0.0f;
        rosetta              = GameObject.Find("Rosetta").GetComponent <Rosetta> ();
        tryAgainBank.rosetta = rosetta;
        tryAgainBank.reset();
        t1.text = tryAgainBank.getString(0);
        t2.text = tryAgainBank.getString(0);
        mc      = GameObject.Find("MasterController").GetComponent <MasterControllerScript> ();
        ds      = mc.getStorage();

        aSource = this.GetComponent <AudioSource> ();
    }
示例#3
0
    public void startNSVotation(Task w, int attitude)
    {
        //
        w.isWaitingForTaskToComplete = true;
        waiter         = w;
        angSpeed       = 0.0f;
        angle          = 0.0f;
        state          = 6;
        selectedItem   = gameController.selectedItem;
        titleText.text = rosetta.rosetta.retrieveString(textPrefix, selectedItem);
        titleFader.reset();
        testDescrText.reset();
        //titleFader.fadeIn ();
        bigIcon[selectedItem].extend();
        testVote = -1;

        attitudeStrings.rosetta = rosetta.rosetta;
        attitudeStrings.reset();
        voteText.text = attitudeStrings.getString(attitude);
        interrogationFader.Start();
        NSVoted = false; Debug.Log("<color=red>fadeOut línea 245</color>");
        interrogationFader.fadeOut();
        helpButtonScaler.scaleIn();
        rouletteRig.gameObject.SetActive(false);
        arrowRig.gameObject.SetActive(false);



        isNegativeSituation = true;
        neededVotes         = gameController.nPlayers - 1;
        titleFader.fadeOut();
        testDescrText.fadeOut();
        for (int i = 0; i < judges.Length; ++i)
        {
            judges [i].gameObject.GetComponent <UIAnimatedImage> ().reset();
            judges [i].extend();
        }

        if (attitude != gameController.NSPlayerAttitude)
        {
            botonaco.extend();
            fader.fadeIn();
        }
        else
        {
            fader.setFadeValue(1.0f);
            botonaco.retract();
        }
    }
示例#4
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));
        }
    }
示例#5
0
    int subType;    // 0: solución creativa
    // 1: Equilibrio
    // 2: Tipo de respuesta


    public void startType3Test(Task w)
    {
        titleFader.Start();
        titleFader.reset();
        descrFader.Start();
        descrFader.reset();
        w.isWaitingForTaskToComplete = true;

        waiter  = w;
        timer   = 0;
        state   = 1;
        timer   = 0.0f;
        subType = Random.Range(0, 3);           // WARNING  must be random
        if (MasterController_mono.ForceTest3Subtest != -1)
        {
            subType = MasterController_mono.ForceTest3Subtest;
        }
        Debug.Log("<color=blue>Source subtype</color> : " + subType);
        subtypeText.rosetta = rosetta.rosetta;
        subtypeText.reset();
        fader.fadeIn();
    }
示例#6
0
    public void startCommonTestActivity(Task w, int type)
    {
        TypeOfTest = type;

        w.isWaitingForTaskToComplete = true;
        waiter = w;



        tType               = type;
        state               = 1;
        maskText.text       = "";
        maskStrings.rosetta = rosetta.rosetta;
        maskStrings.reset();
        bReturnValue = false;

        if (tType != GameController.NegativeSituation)
        {
            helpButton.enabled = false;
        }
        else
        {
            helpButton.enabled = true;
        }

        maskRawImage.texture = neutralMaskImage;
        maskText.text        = "";

        maskButton.enabled = false;



        butoncicoOK.scaleOutImmediately();          // hide the butoncico

        faderMask.Start();
        faderMask.setFadeValue(1.0f);
        faderMask.fadeIn();
    }
    new void Start()
    {
        if (level == null)
        {
            level = GameObject.Find("LevelController").GetComponent <LevelControllerScript> ();
        }

        dropletAlive = new List <bool> ();
        visitNumber  = level.retrieveIntValue(variableName);

        visitNumber = (visitNumber % stringBanks.bank.Length);

        currentStringBank = stringBanks.bank [visitNumber];

        actualNumberOfDroplets = currentStringBank.nItems();

        for (int i = 0; i < actualNumberOfDroplets; ++i)
        {
            dropletAlive.Add(true);
        }
        for (int i = actualNumberOfDroplets; i < waterDroplets.Length; ++i)
        {
            dropletAlive.Add(false);
        }

        for (int i = actualNumberOfDroplets; i < waterDroplets.Length; ++i)
        {
            //Destroy (waterDroplets [i]); // get rid of unused droplets
            waterDroplets[i].SetActive(false);
        }

        currentStringBank.rosetta = level.rosetta;
        currentStringBank.reset();

        for (int i = 0; i < waterDroplets.Length; ++i)
        {
            bool b = level.retrieveBoolValue("PickedUpDroplet" + (i + 1));
            if (b)
            {
                dropletAlive [i] = false;
            }
        }

        int nFloaters;

        nFloaters = currentStringBank.nItems();
        floater   = new HeavyLevitatingFollower[nFloaters];

        int pickedUpDroplets = level.retrieveIntValue("Droplets");

        for (int i = 0; i < nFloaters; ++i)
        {
            Vector3 newPos = level.player.transform.position - Vector3.right * 100;
            newPos.x -= 5 * i;
            GameObject newFloater = (GameObject)Instantiate(floaterPrefab, newPos, Quaternion.Euler(0, 0, 0));
            floater [i]            = newFloater.GetComponent <HeavyLevitatingFollower> ();
            floater [i].player     = level.player;
            floater [i].nearRadius = 2.0f + i * 2.0f;
            floater [i].initialize();
            floater [i].yOffset = followerYOffset;
            if (i < pickedUpDroplets)
            {
                floater [i].immediateBreak();
            }
        }
        usedQuestions = pickedUpDroplets;
    }
示例#8
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();
            }
        }
    }
示例#9
0
    new void Start()
    {
        rosetta = GameObject.Find("Rosetta").GetComponent <Rosetta> ();
        mcRef   = GameObject.Find("MasterController").GetComponent <MasterControllerScript> ();
        ds      = mcRef.getStorage();

        mcRef.playMusic("QAMusic");

        /* retrieve status from MasterController general storage */

        /*enabled = new bool[qa.Length];
         * for (int i = 0; i < qa.Length; ++i) {
         *
         *      enabled [i] = mcRef.getStorage ().retrieveBoolValue ("QuestionSetIsEnabled" + i);
         *
         * }
         *
         * header = new int[qa.Length];
         * for (int i = 0; i < qa.Length; ++i) {
         *
         *      header [i] = mcRef.getStorage ().retrieveIntValue ("QuestionSetHeader" + i);
         *
         * }*/
        keyChannel = ds.retrieveIntValue("CurrentFlameIndex");
        nLevel     = ds.retrieveIntValue("Level");
        if (nLevel == 0)
        {
            nLevel = 1;
        }
        imageSwitch.setChannel(keyChannel);
        keyImage.GetComponent <Image> ().sprite = imageSwitch.getSprite();

        string sss = obtainTexts.getStringId(keyChannel);

        youGotAKeyText.GetComponent <Text> ().text = rosetta.retrieveString(sss);

        state = QAControllerState.idle;
        questionLetterOutput = 0.0f;
        elapsedTime          = 0.0f;
        answerGO             = new GameObject[maxAnswers];
        currentQuestion      = 0;

        //string curLev = ds.retrieveStringValue ("CurrentLevel");
        //int n = ds.retrieveIntValue (curLev + "NumberOfKeys");
//		int n = ds.retrieveIntValue ("GlobalQACounter");
//		ds.storeIntValue ("GlobalQACounter", n + 1);
//
//		n = FirstSetIndex + (n % (LastSetIndex-FirstSetIndex+1)) - 1;
//
//		bankIndex = n;

        qa = QAHelper.getNextBank();

        qa.reset();
        qb = qa.getNextBank();
        qb.reset();

        nMisses = 0;

        flowerAnim = flower.GetComponent <Animator> ();
        spark1Anim = spark1.GetComponent <Animator> ();
        spark2Anim = spark2.GetComponent <Animator> ();
        spark3Anim = spark3.GetComponent <Animator> ();

        keyImageFader       = keyImage.GetComponent <UIImageFader> ();
        youGotAKeyTextFader = youGotAKeyText.GetComponent <UITextFader> ();

        particles.Stop();
        spark1.transform.localScale = Vector3.zero;
        spark2.transform.localScale = Vector3.zero;
        spark3.transform.localScale = Vector3.zero;
    }
示例#10
0
    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);
            }
        }
    }
    public void reset()
    {
        mc                     = GameObject.Find("MasterController").GetComponent <MasterControllerScript> ();
        rosetta                = GameObject.Find("Rosetta").GetComponent <Rosetta> ();
        currentAlphaCurtain    = alphaCurtains [0];
        currentCurtainPosition = targetCurtainPosition = rightClosedCurtain;
        currentAlphaCurtain.transform.position = new Vector3(currentCurtainPosition,
                                                             currentAlphaCurtain.transform.position.y,
                                                             currentAlphaCurtain.transform.position.z);

        amountRequired = mc.getStorage().retrieveIntValue("TVFerfuflosAmount");

        adsAnim = ads.GetComponent <Animator> ();
        // do not always start at the beginning...
        adsAnim.SetFloat("offset", FloatRandom.floatRandomRange(0.0f, 1.0f));

        answer.text = "";

        state     = 0;
        chipScale = 1.0f;
        opacity   = 0.0f;

        whiteCard.GetComponent <Image>().color  = new Color(1, 1, 1, 0);
        blackCard.GetComponent <Image> ().color = new Color(1, 1, 1, 0);
        chip.GetComponent <Image> ().color      = new Color(1, 1, 1, 0);
        whiteHalo.color = new Color(1, 1, 1, 0);
        blackHalo.color = new Color(1, 1, 1, 0);
        answer.GetComponent <Renderer> ().material.SetColor("_Tint", new Color(1, 1, 1, 0));
        assertion.GetComponent <Renderer> ().material.SetColor("_Tint", new Color(1, 1, 1, 0));
        transmission.GetComponent <Renderer> ().material.SetColor("_Tint", new Color(1, 1, 1, 0));


        chipOnWhite = chipOnBlack = false;

        //
        //propositionBank = stringBanks [0].bank [0];

        //wiseAnswers = stringBanks [0].bank [2];
        /* just in case */
        propositionBank.rosetta = rosetta;
        propositionBank.reset();

        //wiseAnswers.rosetta = rosetta;

        transmissionBank.rosetta = rosetta;
        transmissionBank.reset();

        //propositionBank.reset ();

        //wiseAnswers.reset ();

        chipInserted = false;

        // update number of screen id usage


        foreach (StringBank sb in sabias)
        {
            sb.rosetta = rosetta;
            sb.reset();
        }

        foreach (StringBank sb in ignorantes)
        {
            sb.rosetta = rosetta;
            sb.reset();
        }

        chip.transform.position   = chipRelaxPos;
        chipCurrentPos            = chipRelaxPos;
        chip.transform.localScale = Vector3.one;
    }
    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);
        }
    }
示例#13
0
    new void Start()
    {
        rosetta             = GameObject.Find("Rosetta").GetComponent <Rosetta>();
        state               = WordFightControllerState.delay0;
        chispaStuff.rosetta = rosetta;
        chispaStuff.reset();
        elapsedTime = 0.0f;
        //difficulty = 1.0f;
        GenericGoodStuffBank.rosetta    = rosetta;
        GenericNaughtyStuffBank.rosetta = rosetta;
        GenericGoodStuffBank.reset();
        GenericNaughtyStuffBank.reset();

        mcRef = GameObject.Find("MasterController").GetComponent <MasterControllerScript> ();

        ds  = mcRef.getStorage();
        cam = GameObject.Find("Main Camera").GetComponent <CameraManager> ();
        cam.lookingTarget = false;
        string wis = ds.retrieveStringValue("WordFightRequiredWisdom");

        //if (!wis.Equals ("")) {
        //	requiredWisdom = wis;
        //}
        requiredWisdom = wis;

        if (requiredWisdom.Equals("Warrior"))
        {
            specificGoodStuff    = WarriorGoodStuff;
            specificNaughtyStuff = WarriorNaughtyStuff;
        }
        else if (requiredWisdom.Equals("Philosopher"))
        {
            specificGoodStuff    = PhilosopherGoodStuff;
            specificNaughtyStuff = PhilosopherNaughtyStuff;
        }
        else if (requiredWisdom.Equals("Wizard"))
        {
            specificGoodStuff    = WizardGoodStuff;
            specificNaughtyStuff = WizardNaughtyStuff;
        }
        else if (requiredWisdom.Equals("Sage"))
        {
            specificGoodStuff    = SageGoodStuff;
            specificNaughtyStuff = SageNaughtyStuff;
        }
        else if (requiredWisdom.Equals("Explorer"))
        {
            specificGoodStuff    = ExplorerGoodStuff;
            specificNaughtyStuff = ExplorerNaughtyStuff;
        }
        else if (requiredWisdom.Equals("Master"))
        {
            specificGoodStuff    = MasterGoodStuff;
            specificNaughtyStuff = MasterNaughtyStuff;
        }
        else if (requiredWisdom.Equals("Yogi"))
        {
            specificGoodStuff    = YogiGoodStuff;
            specificNaughtyStuff = YogiNaughtyStuff;
        }

        tutorialMode = !ds.retrieveBoolValue("WordFightTutorialDone");
        //ds.storeBoolValue ("CurrentLevelHasHeroWarrior", true);
        //ds.storeBoolValue ("CurrentLevelHasHeroPhilosopher", true);
        //ds.storeBoolValue ("CurrentLevelHasHeroWizard", true);

        //tutorialMode = true;

        justYin.GetComponent <Renderer> ().enabled  = false;
        justYang.GetComponent <Renderer> ().enabled = false;
        //blackSquare.GetComponent<Renderer> ().enabled = false;

        //playerLightMat.GetComponent<Renderer>().material.SetColor ("_TintColor", new Color (1, 1, 1, 1));
        //playerDarkMat.GetComponent<Renderer>().material.SetColor ("_TintColor", new Color (1, 1, 1, 0));
        hero.setHealth(1.0f);

        //shadowLightMat.GetComponent<Renderer>().material.SetColor ("_TintColor", new Color (1, 1, 1, 0));
        //shadowDarkMat.GetComponent<Renderer>().material.SetColor ("_TintColor", new Color (1, 1, 1, 1));
        shadow.setHealth(1.0f);

        string darkMirror = ds.retrieveStringValue("CurrentMirror");

        ds.storeBoolValue(darkMirror, false);

        substate = -5;
    }