Beispiel #1
0
 void SecondWarning()
 {
     if (dangerState != DangerState.SecondWarning)
     {
         dangerState = DangerState.SecondWarning;
         SFXMan.sfx_Warning.Play();
     }
 }
Beispiel #2
0
 void FirstWarning()
 {
     if (dangerState != DangerState.FirstWarning)
     {
         dangerState = DangerState.FirstWarning;
         SFXMan.sfx_Warning.Play();
     }
 }
Beispiel #3
0
    public DangerState dangerState; //this is to establish dashboard alert color

    public CubesAndTags()
    {
        this.boundingCube     = new List <GameObject>();
        this.infoTag          = new List <GameObject>();
        this.bounds           = new List <Bounds>();
        this.dangerState      = DangerState.NONE;
        this.alreadyEvaluated = false;
        this.alreadyPlayed    = false;
        this.prevState        = 1.0f;
        this.obstaclePrevPos  = Vector3.zero;
    }
Beispiel #4
0
    public IEnumerator GameLost_cr()
    {
        if (dangerState != DangerState.GameOver)
        {
            SFXMan.StopSong();
            gameState = GameState.GameLost;

            CardMan.CardCascade();
            SFXMan.sfx_GameOver.Play();
            dangerState = DangerState.GameOver;

            yield return(new WaitForSeconds(3));

            StartCoroutine(InitiateWave_cr());
            SceneManager.LoadScene("MainMenu");
        }
    }
Beispiel #5
0
    IEnumerator InitiateWave_cr()
    {
        //Present wave
        SFXMan.sfx_StartWave.Play();
        var wave = MainGame.Wave;

        CardSceneGui.DisplayGuiMessage(string.Format("Clear {1} cards!", wave, wave * (CardMan.cardPairsPerWave * 2)), Color.white);

        yield return(new WaitForSeconds(3));

        SFXMan.PlayAsSong(SFXMan.sng_CardSong);

        dangerState = DangerState.VerySafe;

        GravityStrength = 1f;

        InvokeRepeating("SlowUpdate", 0, 1F);

        CardMan.SetupWave();

        gameState = GameState.GameOn;
    }
Beispiel #6
0
    void SlowUpdate()
    {
        if (gameState == GameState.GameOn)
        {
            if (!HasPickUp)
            {
                if (Random.Range(0, 7) == 0)
                {
                    pickUp = Instantiate(Resources.Load("Prefabs/CardGame/Pickup")) as GameObject;
                }
                else
                {
                    print("No pickup today!");
                }
            }


            if (!IsGravityPaused)
            {
                // ADD GRAVITY OVER TIME
                GravityStrength += gravityAcceleration;
                if (GravityStrength > 150)
                {
                    gravityAcceleration = 0.05f;
                }
                else if (GravityStrength > 250)
                {
                    gravityAcceleration = 0.02f;
                }
                else
                {
                    gravityAcceleration = 0.07f;
                }
            }


            // CHECK CARDS POSITION for game over
            var cardWidth = Card.cardDimensions.x;
            var allCards  = cardMan.AllCardsByLowXPosition();
            foreach (var card in allCards)
            {
                var xPos = card.Box().center.x;
                if (xPos <= gameOverRange)
                {
                    StartCoroutine(GameLost_cr());
                    return;
                }
                else
                if (xPos <= gameOverRange + cardWidth)
                {
                    SecondWarning();
                    return;
                }
                else
                if (xPos <= gameOverRange + cardWidth * 2)
                {
                    FirstWarning();
                    return;
                }
            }

            if (dangerState != DangerState.VerySafe)
            {
                dangerState = DangerState.VerySafe;
                SFXMan.sfx_Score.Play();
            }
        }
    }