Ejemplo n.º 1
0
    public void Update()
    {
        if (currentState == Game3State.SawState)
        {
            if (leftBranchFtc.floatValue > 1 && leftBranchSawed == false)
            {
                leftBranchSawAnimation.Play();
                leftBranchSawed = true;
            }

            if (rightBranchFtc.floatValue > 1 && rightBranchSawed == false)
            {
                rightBranchSawAnimation.Play();
                rightBranchSawed = true;
            }

            if (rightBranchFtc.floatValue > 1 && leftBranchFtc.floatValue > 1)
            {
                waterButton.gameObject.SetActive(true);
                currentState = Game3State.NormalState;
                ForceHideAll();
            }
        }
        else if (currentState == Game3State.WateringState)
        {
            if (leaf1Ftc.floatValue > 1 && leaf2Ftc.floatValue > 1)
            {
                currentState = Game3State.NormalState;
                ForceHideAll();
                ending.StartSequence(SequenceType.Win);
            }
        }
    }
Ejemplo n.º 2
0
    void UpdateTimer()
    {
        timer -= Time.deltaTime;

        if (timer >= 0f)
        {
            timerText.text = Mathf.CeilToInt(timer).ToString();
        }
        else
        {
            timerText.text = "Time's Up!";
            state          = Game3State.ChoosingPause;
            newState       = true;


            for (int i = 0; i < players.Length; i++)
            {
                if (!players[i].guess)
                {
                    var randomSide = UnityEngine.Random.value < 0.5f ? true : false;

                    if (randomSide)
                    {
                        players[i].guess = true;

                        StartCoroutine(MoveCharacters(players[i], leftDoor.position + Vector3.right * (amtInLeft * 0.45f)));

                        //players[i].transform.position = leftDoor.position + Vector3.right * (amtInLeft * 0.45f);
                        //players[i].transform.localScale = Vector3.one * 0.35f;
                        leftPath.Add(players[i]);
                    }
                    else
                    {
                        players[i].guess = true;

                        StartCoroutine(MoveCharacters(players[i], rightDoor.position + Vector3.left * (amtInRight * 0.45f)));

                        //players[i].transform.position = rightDoor.position + Vector3.left * (amtInRight * 0.45f);
                        //players[i].transform.localScale = Vector3.one * 0.35f;
                        rightPath.Add(players[i]);
                    }
                    amtLeft--;
                }
            }
        }
    }
Ejemplo n.º 3
0
    private void Update()
    {
        if (gameRunning)
        {
            float t = Time.time - startTime;
            if (voiceActive == true)
            {
                //Checking if 5 seconds has passed since clicking the red button
                if (t >= 5f)
                {
                    showAnswerTextbox();
                    hideMicIcon();
                    keywordRecognizer.Stop();
                    voiceActive = false;
                }
            }
            //check if voice input has been activated i.e. red button is clicked.
            if (redButtonIsPushed == false)
            {
                redButton.transform.GetComponent <RectTransform>().rect.Set(value1, value1, value1, value1);
                if (Input.GetKeyDown(KeyCode.P))
                {
                    roundNumber = 6;
                }


                if (state == Game3State.Choosing)
                {
                    if (newState)
                    {
                        newState = false;
                        timer    = 10f;


                        leftPath.Clear();
                        rightPath.Clear();
                        amtLeft = 4;

                        foreach (var item in players)
                        {
                            item.guess = false;
                        }

                        PlaceImages();

                        roundText.text = "Round " + roundNumber;

                        PlacePlayers();
                    }

                    UpdateTimer();



                    for (int i = 1; i < players.Length; i++)
                    {
                        if (!players[i].guess)
                        {
                            var randomChance = UnityEngine.Random.value;
                            if (randomChance < 0.005f)
                            {
                                var randomSide = UnityEngine.Random.value < 0.5f ? true : false;

                                if (randomSide)
                                {
                                    players[i].guess = true;

                                    StartCoroutine(MoveCharacters(players[i], leftDoor.position + Vector3.right * (amtInLeft * 0.45f)));

                                    //players[i].transform.position = leftDoor.position + Vector3.right * (amtInLeft * 0.45f);
                                    //players[i].transform.localScale = Vector3.one * 0.35f;
                                    leftPath.Add(players[i]);
                                }
                                else
                                {
                                    players[i].guess = true;

                                    StartCoroutine(MoveCharacters(players[i], rightDoor.position + Vector3.left * (amtInRight * 0.45f)));

                                    //players[i].transform.position = rightDoor.position + Vector3.left * (amtInRight * 0.45f);
                                    //players[i].transform.localScale = Vector3.one * 0.35f;
                                    rightPath.Add(players[i]);
                                }
                                amtLeft--;
                            }
                        }
                    }

                    if (amtLeft == 0)
                    {
                        state          = Game3State.ChoosingPause;
                        newState       = true;
                        timerText.text = "";
                    }
                }
                else if (state == Game3State.ChoosingPause)
                {
                    if (newState)
                    {
                        newState = false;


                        timer = 2f;
                    }

                    timer -= Time.deltaTime;

                    if (timer <= 0f)
                    {
                        state    = Game3State.DisplayAnswer;
                        newState = true;
                    }
                }
                else if (state == Game3State.DisplayAnswer)
                {
                    if (newState)
                    {
                        newState = false;
                        if (AudioManager.instance)
                        {
                            AudioManager.instance.PlayCorrectSound();
                        }
                        timer = 2f;

                        checkmark.gameObject.SetActive(true);
                        checkmark.transform.position = winningSide ? leftImage.transform.position : rightImage.transform.position;

                        foreach (var item in winningSide ? leftPath : rightPath)
                        {
                            item.UpdateScore(10);
                            var temp = Instantiate(addPointsPrefab, item.scoreText.transform.position, Quaternion.identity);
                            temp.transform.localScale = Vector3.one * 0.5f;
                            temp.GetComponent <TextMeshPro>().color = item.character.color;
                        }
                    }

                    timer -= Time.deltaTime;

                    if (timer <= 0f)
                    {
                        if (roundNumber > 4 && !endGame)
                        {
                            endGame = true;
                            print("ENDING GAME");
                            EndGame();
                        }

                        if (!endGame)
                        {
                            roundNumber++;
                            state    = Game3State.Choosing;
                            newState = true;
                        }
                    }
                }
            }
            else
            {
                redButton.transform.GetComponent <RectTransform>().rect.Set(value2, value2, value2, value2);
            }
        }
    }
Ejemplo n.º 4
0
    private void Start()
    {
        voiceActive = false;

        //------------------- Start of Voice Recognition Section --------------------
        //Adding to dictionary
        //"forgot" answer/animation
        actions.Add("forgot", Forgot);
        //"Ran out of milk" answer/animation
        actions.Add("ran out of", RanOut);
        actions.Add("ran out", RanOut);
        actions.Add("ran", RanOut);
        //"Broke" answer/animation
        actions.Add("broke", Broke);
        //"Dropped" answer/animation
        actions.Add("dropped", Dropped);

        keywordRecognizer = new KeywordRecognizer(actions.Keys.ToArray());
        keywordRecognizer.OnPhraseRecognized += RecognizedSpeech;

        //------------------- End of Voice Recognition Section ----------------------

        if (gameStart == false)
        {
            gameStart = true;
            InputFieldAnswer.transform.localScale  = new Vector3(0, 0, 0);
            confirmTextButton.transform.localScale = new Vector3(0, 0, 0);
            micIcon.transform.localScale           = new Vector3(0, 0, 0);
        }
        redButton.GetComponent <Button>();

        redButtonIsPushed = false;
        state             = Game3State.Choosing;
        amtLeft           = 4;
        newState          = true;
        roundNumber       = 1;
        maxRounds         = 5;

        endGame     = false;
        gameRunning = false;

        if (MenuSelection.instance)
        {
            MenuSelection.instance.FadeIn(1f);
        }


        if (IntroController.instance)
        {
            var listOfplayers = IntroController.instance.charactersInGame;

            for (int i = 0; i < listOfplayers.Count; i++)
            {
                players[i].character = listOfplayers[i];
                players[i].ChangeSprite();
            }
        }

        if (AudioManager.instance)
        {
            AudioManager.instance.musicSource.clip = AudioManager.instance.game1;
            AudioManager.instance.musicSource.Play();
        }

        startPositions = new Vector3[4];
        foreach (var item in players)
        {
            startPositions[item.i] = item.transform.position;
        }

        InitGame();
    }
Ejemplo n.º 5
0
 public void WaterButtonPress()
 {
     waterButton.enabled = false;
     currentState        = Game3State.WateringState;
 }
Ejemplo n.º 6
0
 public void SawButtonPress()
 {
     sawButton.enabled = false;
     currentState      = Game3State.SawState;
 }