Esempio n. 1
0
    void Update()
    {
        eggsCount           = GameObject.FindGameObjectsWithTag("Egg");
        eggsLeft            = eggsCount.Length;
        eggCounterText.text = "Eggs Found: " + (eggsFound) + "/" + (totalEggs);
        AdjustSilverEggCount();
        AdjustGoldenEggCount();

        // -- ON CLICK/TAP -- //
        if (Input.GetMouseButtonDown(0))
        {
            mousePos   = Camera.main.ScreenToWorldPoint(Input.mousePosition);
            mousePos2D = new Vector2(mousePos.x, mousePos.y);

            hit = Physics2D.Raycast(mousePos2D, Vector3.forward, 50f);

            Debug.DrawRay(mousePos2D, Vector3.forward, Color.red, 60f);

            if (hit)
            {
                if (hit.collider.CompareTag("Egg") || (hit.collider.CompareTag("GoldenEgg")))
                {
                    Debug.Log(hit.collider.name);

                    EggGoToCorner eggScript = hit.collider.gameObject.GetComponent <EggGoToCorner>();

                    eggScript.StartEggAnim();
                    hit.collider.enabled = false;

                    if (hit.collider.CompareTag("Egg"))
                    {
                        eggsFound += 1;
                    }
                    eggMoving    += 1;
                    openEggPanel  = true;
                    panelOpenTime = basePanelOpenTime + eggScript.timeToMove;
                    StartCoroutine(MoveEggPanelTimer(panelOpenTime));
                }


                if (hit.collider.CompareTag("Puzzle"))
                {
                    SceneManager.LoadScene(puzzleSceneName);
                    PlayerPrefs.SetString("LastLoadedScene", SceneManager.GetActiveScene().name);
                }


                if (hit.collider.CompareTag("EggPanel"))
                {
                    if (lockDropDownPanel)
                    {
                        openEggPanel      = false;
                        lockDropDownPanel = false;
                        return;
                    }

                    if (eggMoving <= 0)
                    {
                        //eggMoving += 1;
                        //StartCoroutine(MoveEggPanelTimer());
                        openEggPanel      = true;
                        lockDropDownPanel = true;
                    }

                    if (eggMoving > 0)
                    {
                        lockDropDownPanel = true;
                    }
                }
            }
        }

        // - Egg Panel - //
        if (eggMoving <= 0 && !lockDropDownPanel)
        {
            eggPanel.transform.position         = Vector3.MoveTowards(eggPanel.transform.position, eggPanelHidden.transform.position, Time.deltaTime * panelMoveSpeed);
            dropDrowArrow.transform.eulerAngles = new Vector3(dropDrowArrow.transform.eulerAngles.x, dropDrowArrow.transform.eulerAngles.y, 180);
            openEggPanel = false;
        }

        if (eggMoving > 0 || openEggPanel)
        {
            eggPanel.transform.position         = Vector3.MoveTowards(eggPanel.transform.position, eggPanelShown.transform.position, Time.deltaTime * panelMoveSpeed);
            dropDrowArrow.transform.eulerAngles = new Vector3(dropDrowArrow.transform.eulerAngles.x, dropDrowArrow.transform.eulerAngles.y, 0);
        }

        // - Activate Puzzle - //
        if (puzzleClickArea.activeSelf == false && eggsFound >= puzzleUnlock)
        {
            puzzleClickArea.SetActive(true);
            var emission = puzzleParticles.emission;
            emission.enabled = true;
            scaleAnim.Play();
        }
    }
    void Update()
    {
        if (seqChecker != inASequence)           //delete this later plzzz ty
        {
            seqChecker = inASequence;
            //Debug.Log("Cmon just say inASequence is: " + seqChecker);
        }

        // initial delay  -> check silver eggs -> check lvl complete -> allow play
        if (iniSeq)
        {
            if (iniDelay > 0)
            {
                iniDelay -= Time.deltaTime;
            }
            else
            {
                iniSeqTimer += Time.deltaTime;
                if (iniSeqTimer > checkNewSilEggsF && !iniSilEggCheckB)
                {
                    sceneSilEggSpaScript.SpawnNewSilverEggs(); iniSilEggCheckB = true; allowTapF += checkLvlCompleteF;
                }
                if (iniSeqTimer > checkLvlCompleteF && !iniLvlCompCheckB)
                {
                    if (totalEggsFound == eggsNeeded && !levelComplete)
                    {
                        PlayLvlCompleteSeq();
                    }
                    ; iniLvlCompCheckB = true;
                }
                if (iniSeqTimer > allowTapF)
                {
                    if (!levelCompleteScript.inLvlCompSeqSetup)
                    {
                        sceneTapEnabScript.canTapEggRidPanPuz = true;
                        sceneTapEnabScript.canTapHelpBird     = true;
                        sceneTapEnabScript.canTapPauseBtn     = true;
                    }
                    iniSeq = false;
                }
            }
        }

        // -- ON CLICK/TAP -- //
        if (myInputDetector.Tapped)
        {
            mousePos   = Camera.main.ScreenToWorldPoint(myInputDetector.TapPosition);
            mousePos2D = new Vector2(mousePos.x, mousePos.y);
            hit        = Physics2D.Raycast(mousePos2D, Vector3.forward, 50f);
            if (hit)
            {
                if (sceneTapEnabScript.canTapEggRidPanPuz)                   // On regular eggs, puzzle, eggPanel
                // - Egg Tapped - //
                {
                    if (hit.collider.CompareTag("Egg"))
                    {
                        myInputDetector.cancelDoubleTap = true;
                        EggGoToCorner eggScript = hit.collider.gameObject.GetComponent <EggGoToCorner>();
                        eggScript.EggFound();
                        GlobalVariables.globVarScript.eggsFoundOrder[eggs.IndexOf(hit.collider.gameObject)] = eggsFound;
                        hit.collider.enabled = false;
                        eggsFound++;
                        eggMoving++;
                        openEggPanel = true;
                        // SFX Open Panel
                        if (!openEggPanel)
                        {
                            openEggPanel = true; audioSceneGenScript.openPanel();
                        }
                        // SFX Click Egg
                        audioSceneGenScript.ClickEggsSound(hit.collider.gameObject);
                        //Play egg  click sound
                        //audioSceneGenScript.
                        AddEggsFound();
                        eggScript.SaveEggToCorrectFile();
                    }
                    // - Go To Puzzle Scene - //
                    if (hit.collider.CompareTag("Puzzle"))
                    {
                        if (GlobalVariables.globVarScript.puzzIntroDone)
                        {
                            menuStatesScript.puzzleConfActive = true;
                            menuStatesScript.puzzleConfStates = MenuStatesManager.MenuStates.TurnOn;
                        }
                        else
                        {
                            LoadPuzzle();
                        }
                    }
                    // - Opening Egg Panel Manually - //
                    if (hit.collider.CompareTag("EggPanel"))
                    {
                        if (lockDropDownPanel)
                        {
                            openEggPanel      = false;
                            lockDropDownPanel = false;
                            //SFX Play close panel sound
                            audioSceneGenScript.closePanel();
                            return;
                        }
                        if (eggMoving <= 0)
                        {
                            openEggPanel      = true;
                            lockDropDownPanel = true;

                            //SFX Play close panel sound
                            audioSceneGenScript.openPanel();
                        }
                        if (eggMoving > 0)
                        {
                            lockDropDownPanel = true;
                        }
                    }
                }
                if (sceneTapEnabScript.canTapGoldEgg)
                {
                    // - Golden Egg Tapped - //
                    if ((hit.collider.CompareTag("GoldenEgg")))
                    {
                        EggGoToCorner eggScript = hit.collider.gameObject.GetComponent <EggGoToCorner>();
                        eggScript.EggFound();
                        hit.collider.enabled = false;
                        sceneTapEnabScript.canTapEggRidPanPuz = true;
                        sceneTapEnabScript.canTapHelpBird     = true;
                        sceneTapEnabScript.canTapPauseBtn     = true;
                        sceneTapEnabScript.canTapGoldEgg      = false;
                        //AdjustGoldenEggCount();
                        AddEggsFound();
                        eggScript.SaveEggToCorrectFile();
                        // SFX Click GOLD Egg
                        audioSceneGenScript.goldEggSound();
                        audioSceneGenScript.goldEggShimmerStopSound();
                    }
                }
            }
        }
        // -- Egg Panel Movement -- //
        if (eggMoving <= 0 && !lockDropDownPanel)
        {
            // - Hide Egg Panel - //
            if (timer <= basePanelOpenTime && openEggPanel)
            {
                timer += Time.deltaTime;
            }
            else
            {
                openEggPanel = false; timer = 0f;
            }

            eggPanel.transform.position         = Vector3.MoveTowards(eggPanel.transform.position, eggPanelHidden.transform.position, Time.deltaTime * panelMoveSpeed);
            dropDrowArrow.transform.eulerAngles = new Vector3(dropDrowArrow.transform.eulerAngles.x, dropDrowArrow.transform.eulerAngles.y, 180);
        }
        if (eggMoving > 0 || openEggPanel)
        {
            // - Show Egg Panel - //
            eggPanel.transform.position         = Vector3.MoveTowards(eggPanel.transform.position, eggPanelShown.transform.position, Time.deltaTime * panelMoveSpeed);
            dropDrowArrow.transform.eulerAngles = new Vector3(dropDrowArrow.transform.eulerAngles.x, dropDrowArrow.transform.eulerAngles.y, 0);
        }
    }