// 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;
    }
Exemplo n.º 2
0
        public void LoadStrings(byte[] header, string filename, int languageCount)
        {
            stringBanks = new StringBank[languageCount];

            string stringsPackagePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, filename);

            using (FileStream fs = File.OpenRead(stringsPackagePath))
            {
                for (int i = 0; i < header.Length; i++)
                {
                    if (fs.ReadByte() != header[i])
                    {
                        throw new Exception("Strings package is corrupt");
                    }
                }

                using (var br = new BinaryReader(new GZipStream(fs, CompressionMode.Decompress, true)))
                {
                    for (int i = 0; i < languageCount; i++)
                    {
                        stringBanks[i] = new StringBank(br);
                    }
                }
            }
        }
Exemplo n.º 3
0
    public void _wm_pushSentenceBitsToMasterController()
    {
        mcRef.resetSentencePiecesList();
        StringBank sb = bank.getNextBank();

        for (int i = 0; i < sb.nItems(); ++i)
        {
            //mcRef.addSentencePiece (rosetta.retrieveString(phrase.getStringId(i)));
            mcRef.addSentencePiece(rosetta.retrieveString(sb.getStringId(i)));
        }
    }
Exemplo n.º 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));
        }
    }
Exemplo n.º 5
0
    public void go()
    {
        StringBank[] allStringBanks = GameObject.FindObjectsOfType(typeof(StringBank)) as StringBank[];
        Rosetta      rosetta        = GameObject.Find("Rosetta").GetComponent <Rosetta> ();

        for (int i = 0; i < allStringBanks.Length; ++i)
        {
            StringBank bank = (StringBank)(allStringBanks [i]);


            bank.rosetta = rosetta;

            for (int j = 0; j < bank.phrase.Length; ++j)
            {
                rosetta.registerString(bank.extra + bank.wisdom + bank.subWisdom + j, bank.phrase [j]);
            }
        }

        PrefabUtility.SaveAsPrefabAssetAndConnect(rosetta.gameObject, "Assets/Prefabs/Rosetta.prefab", InteractionMode.AutomatedAction);
    }
Exemplo n.º 6
0
    public void go()
    {
        StringBank[] allStringBanks = GameObject.FindObjectsOfType(typeof(StringBank)) as StringBank[];
        Rosetta      rosetta        = GameObject.Find("RosettaWrapper").GetComponent <RosettaWrapper> ().rosetta;

        for (int i = 0; i < allStringBanks.Length; ++i)
        {
            StringBank bank = (StringBank)(allStringBanks [i]);


            bank.rosetta = rosetta;

            for (int j = 0; j < bank.phrase.Length; ++j)
            {
                rosetta.registerString(bank.extra + bank.wisdom + bank.subWisdom + "_" + j, bank.phrase [j]);
            }
        }

        Object prefab = PrefabUtility.CreateEmptyPrefab("Assets/Prefabs/Rosetta.prefab");

        PrefabUtility.ReplacePrefab(rosetta.gameObject, prefab, ReplacePrefabOptions.ConnectToPrefab);
    }
Exemplo n.º 7
0
    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;
    }
    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;
    }
Exemplo n.º 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;
    }
Exemplo n.º 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);
            }
        }
    }
Exemplo n.º 11
0
    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);
        }
    }
Exemplo n.º 12
0
    public override void OnInspectorGUI()
    {
        StringBank bankRef = (StringBank)target;

        if (bankRef.rosetta == null)
        {
            bankRef.rosetta = GameObject.Find("RosettaWrapper").GetComponent <RosettaWrapper> ().rosetta;
        }

        string[] yieldType =
        {
            "Serial",
            "Random"
        };

        string[] wisdoms =
        {
            "<ninguno>",
            "Guerreros",
            "Filosofos",
            "Yoguis",
            "Exploradores",
            "Magos",
            "Sabios",
            "Maestros"
        };

        string[] subwisdoms =
        {
            "<ninguno>",
            "Familia",
            "Pareja",
            "Trabajo",
            "Amigos",
        };


        int index = indexOfStringInList(wisdoms, bankRef.wisdom);

        index = EditorGUILayout.Popup(index, wisdoms);
        if (index > 0)
        {
            bankRef.wisdom = wisdoms [index];
        }
        else
        {
            bankRef.wisdom = "";
        }
        index = indexOfStringInList(subwisdoms, bankRef.subWisdom);
        index = EditorGUILayout.Popup(index, subwisdoms);
        if (index > 0)
        {
            bankRef.subWisdom = subwisdoms [index];
        }
        else
        {
            bankRef.subWisdom = "";
        }
        if (bankRef.randomYield)
        {
            index = 1;
        }
        else
        {
            index = 0;
        }
        index = EditorGUILayout.Popup(index, yieldType);
        if (index == 0)
        {
            bankRef.randomYield = false;
        }
        else
        {
            bankRef.randomYield = true;
        }



        DrawDefaultInspector();



        if (GUILayout.Button("Update Rosetta"))
        {
            for (int i = 0; i < bankRef.phrase.Length; ++i)
            {
                bankRef.rosetta.registerString(bankRef.extra + bankRef.wisdom + bankRef.subWisdom + "_" + i, bankRef.phrase [i]);
            }
        }

        if (GUILayout.Button("Update prefab"))
        {
            Object prefab = PrefabUtility.CreateEmptyPrefab("Assets/Prefabs/StringBanks/StringBank(" + bankRef.extra + bankRef.wisdom + bankRef.subWisdom + ").prefab");
            PrefabUtility.ReplacePrefab(bankRef.gameObject, prefab, ReplacePrefabOptions.ConnectToPrefab);
        }
    }
Exemplo n.º 13
0
    public override void OnInspectorGUI()
    {
        StringBank bankRef = (StringBank)target;

        string[] yieldType =
        {
            "Serial",
            "Random"
        };

        string[] wisdoms =
        {
            "<ninguno>",
            "Guerreros",
            "Filosofos",
            "Yoguis",
            "Exploradores",
            "Magos",
            "Sabios",
            "Maestros"
        };

        string[] subwisdoms =
        {
            "<ninguno>",
            "Familia",
            "Pareja",
            "Trabajo",
            "Amigos",
        };


        int index = indexOfStringInList(wisdoms, bankRef.wisdom);

        index = EditorGUILayout.Popup(index, wisdoms);
        if (index > 0)
        {
            bankRef.wisdom = wisdoms [index];
        }
        else
        {
            bankRef.wisdom = "";
        }
        index = indexOfStringInList(subwisdoms, bankRef.subWisdom);
        index = EditorGUILayout.Popup(index, subwisdoms);
        if (index > 0)
        {
            bankRef.subWisdom = subwisdoms [index];
        }
        else
        {
            bankRef.subWisdom = "";
        }
        if (bankRef.randomYield)
        {
            index = 1;
        }
        else
        {
            index = 0;
        }
        index = EditorGUILayout.Popup(index, yieldType);
        if (index == 0)
        {
            bankRef.randomYield = false;
        }
        else
        {
            bankRef.randomYield = true;
        }



        DrawDefaultInspector();



        if (GUILayout.Button("Update Rosetta"))
        {
            for (int i = 0; i < bankRef.phrase.Length; ++i)
            {
                bankRef.rosetta.registerString(bankRef.extra + bankRef.wisdom + bankRef.subWisdom + i, bankRef.phrase [i]);
            }
        }

        if (GUILayout.Button("Update prefab"))
        {
            PrefabUtility.SaveAsPrefabAssetAndConnect(bankRef.gameObject, "Assets/Prefabs/StringBanks/StringBank(" + bankRef.extra + bankRef.wisdom + bankRef.subWisdom + ").prefab", InteractionMode.AutomatedAction);
        }
    }
Exemplo n.º 14
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;
    }