Пример #1
0
    // Update is called once per frame
    void Update()
    {
        if ((mMovementGracePeriodAmount < mMovementGracePeriod))
        {
            mMovementGracePeriodAmount += Time.deltaTime;
        }
        else
        {
            Movement();
            BulletCreation();
        }

        mSpriteRenderer.enabled = true;

        //Code to run while dead.
        if (mIsDead)
        {
            //Get the gui fader object and check if it exists. If not, it is destroyed.
            GameObject guiFaderObj = GameObject.Find("GuiFader(Clone)");

            //The component of the gui fader object.
            GuiFader guiFaderComp = guiFaderObj.GetComponent <GuiFader>();

            //If the gui fader object is destroyed, reload the current level.
            // Otherwise, make the fader fade in.
            if (guiFaderComp.GetIsDoneFading() == true)
            {
                //The name of the current scene being reloaded.
                string sceneName = SceneManager.GetActiveScene().name;

                mGlobalData.SetCurrency(mGlobalData.GetSavedCurrency());
                mGlobalData.ChangeMap(sceneName);
            }
            else
            {
                guiFaderComp.SetIsFadingIn(true);
                mCurHealth = 0;
                mCurArmor  = 0;
            }
        }
        else
        {
            //Compute invincibility period.
            if (mIsHurt == true)
            {
                if (mHurtInvincibilityPeriodAmount > 0.1)
                {
                    mSpriteRenderer.enabled = true;
                }

                mHurtInvincibilityPeriodAmount += Time.deltaTime;
                mFlashPeriodAmount             += Time.deltaTime;

                if (mHurtInvincibilityPeriodAmount >= mHurtInvincibilityPeriod)
                {
                    mIsHurt = false;
                }

                if (mFlashPeriodAmount >= mFlashPeriod)
                {
                    mSpriteRenderer.enabled = false;
                    mFlashPeriodAmount      = 0.0f;
                }
            }

            //Code to run while won.
            if (mFoundExit)
            {
                //Get the gui fader object and check if it exists. If not, it is destroyed.
                GameObject guiFaderObj = GameObject.Find("GuiFader(Clone)");

                //The component of the gui fader object.
                GuiFader guiFaderComp = guiFaderObj.GetComponent <GuiFader>();

                //If the gui fader object is destroyed, reload the current level.
                // Otherwise, make the fader fade in.
                if (guiFaderComp.GetIsDoneFading() == true)
                {
                    //The name of the current scene.
                    string sceneName = SceneManager.GetActiveScene().name;

                    mGlobalData.SetCheckpointEnabled(false);

                    //Decide which scene to switch to.
                    if (sceneName == "level_garage")
                    {
                        mGlobalData.ChangeMap("level_wall");
                    }
                    else if (sceneName == "level_wall")
                    {
                        mGlobalData.ChangeMap("level_kitchen");
                    }
                }
                else
                {
                    guiFaderComp.SetIsFadingIn(true);
                }
            }

            //Code to run while found the minigame.
            if (mFoundMinigame)
            {
                //Get the gui fader object and check if it exists. If not, it is destroyed.
                GameObject guiFaderObj = GameObject.Find("GuiFader(Clone)");

                //The component of the gui fader object.
                GuiFader guiFaderComp = guiFaderObj.GetComponent <GuiFader>();

                mRigidBody2D.velocity = new Vector2(0.0f, 0.0f);

                //If the gui fader object is destroyed, reload the current level.
                // Otherwise, make the fader fade in.
                if (guiFaderComp.GetIsDoneFading() == true)
                {
                    //The name of the current scene.
                    string sceneName = SceneManager.GetActiveScene().name;
                    GlobalData.instance.SetSavedMapName(sceneName);
                    GlobalData.instance.SetHasBeenToMinigame(true);
                    mGlobalData.ChangeMap("minigame_scene");
                }
                else
                {
                    guiFaderComp.SetIsFadingIn(true);
                    guiFaderComp.SetGraceFadeOutPeriodAmount(3.0f);
                }
            }
        }
    }
Пример #2
0
    //Collision Callbacks on Enter(Trigger).
    void OnTriggerEnter2D(Collider2D collider)
    {
        //Check if colliding with bottle caps.
        if (collider.gameObject.tag == "gold")
        {
            if (!mIsDead)
            {
                //The bottle cap object being collided with.
                BottleCap bottleCap1 = collider.gameObject.GetComponent <BottleCap>();

                mGlobalData.SetCurrency(mGlobalData.GetCurrency() + bottleCap1.GetCurrency());

                Destroy(collider.gameObject);

                if (bottleCap1.GetCurrency() == 1)
                {
                    mAudioSource.PlayOneShot(mMauserCollectRedCapAudioClip, 1.0f);
                }
                else if (bottleCap1.GetCurrency() == 5)
                {
                    mAudioSource.PlayOneShot(mMauserCollectGoldCapAudioClip, 1.0f);
                }
                else
                {
                    mAudioSource.PlayOneShot(mMauserCollectDebugCapAudioClip, 1.0f);
                }
            }
        }

        //Check if colliding with a cookie.
        if (collider.gameObject.tag == "cookie")
        {
            if (!mIsDead)
            {
                if (mCurArmor == 0)
                {
                    mCurHealth++;

                    if (mCurHealth > mMaxHealth)
                    {
                        mCurHealth = mMaxHealth;
                    }
                }

                Destroy(collider.gameObject);

                mAudioSource.PlayOneShot(mMauserCollectHealthCookieAudioClip, 1.0f);
            }
        }

        //Check if colliding with an armor cookie.
        if (collider.gameObject.tag == "armor_cookie")
        {
            if (!mIsDead)
            {
                mCurArmor += 1;

                Destroy(collider.gameObject);

                mAudioSource.PlayOneShot(mMauserCollectArmorCookieAudioClip, 1.0f);
            }
        }

        //Check if colliding with a scene exit.
        if (collider.gameObject.name == "SceneExit")
        {
            if (!mIsDead)
            {
                //Get the gui fader object and check if it exists. If not, it is destroyed.
                GameObject guiFaderObj = GameObject.Find("GuiFader(Clone)");

                //The component of the gui fader object.
                GuiFader guiFaderComp = guiFaderObj.GetComponent <GuiFader>();

                //Set the fader to is fading in and make the player enter invincibility
                // mode and be stuck in place.
                guiFaderComp.SetIsFadingIn(true);

                mFoundExit = true;
                mAnimator.Play("Idle");
                mAnimator.SetBool("Moving", false);

                mGlobalData.SetSavedCurrency(mGlobalData.GetCurrency());

                mAudioSource.PlayOneShot(mMauserFinishLevelAudioClip, 1.0f);
            }
        }
    }
Пример #3
0
    // Update is called once per frame
    void Update()
    {
        if (!fader)
        {
            GameObject o = GameObject.Find("ScreenFader");
            if (o != null)
            {
                fader = o.GetComponent <GuiFader>();
            }
        }

        if (!fader)
        {
            return;
        }

        //Start Pro Cut Scene
        if (GameObject.FindGameObjectsWithTag("ProfAlien").Length == 0)
        {
            PlayerPrefs.SetInt("controllDeactive", 1);

            if (posInFrontOfPlayer == Vector3.zero)
            {
                posInFrontOfPlayer = player.transform.TransformPoint(Vector3.forward * 2);
            }

            if (!profInFrontOfPlayer)
            {
                if (!fader.IsBlack())
                {
                    fader.FadeToBlack();
                }
                else
                {
                    transform.position = posInFrontOfPlayer;
                    Quaternion old       = transform.rotation;
                    Vector3    playerPos = player.transform.position;
                    transform.LookAt(playerPos);
                    transform.rotation = new Quaternion(old.x, transform.rotation.y, old.z, old.w);
                }
            }
        }

        if (transform.position == posInFrontOfPlayer)
        {
            profInFrontOfPlayer = true;
        }

        if (profInFrontOfPlayer && !fader.IsClear() && !speachStarted)
        {
            fader.FadeToClear();
        }



        if (!speachStarted && fader.IsClear() && profInFrontOfPlayer)
        {
            speachStarted  = true;
            gameText.text += profspech1;
            timer.Interval = 5000;
            timer.Elapsed += delegate
            {
                if (setSpech2)
                {
                    setSpech2 = false;
                    setSpech3 = true;
                }
                else if (setSpech3)
                {
                    setSpech3 = false;
                    setSpech4 = true;
                }
                else if (setSpech4)
                {
                    setSpech4 = false;
                    timer.Stop();
                }
                else if (speachStarted)
                {
                    setSpech2 = true;
                }
            };
            timer.Start();
        }


        if (setSpech2)
        {
            if (!gameText.text.Contains(profspech2))
            {
                gameText.text  = gameText.text.Replace(profspech1, "");
                gameText.text += profspech2;
            }
        }
        if (setSpech3)
        {
            if (!gameText.text.Contains(profspech3))
            {
                gameText.text  = gameText.text.Replace(profspech2, "");
                gameText.text += profspech3;
                handBattery.Play();
            }
        }
        if (setSpech4)
        {
            if (!gameText.text.Contains(profspech4))
            {
                gameText.text  = gameText.text.Replace(profspech3, "");
                gameText.text += profspech4;
            }
        }
        if (!setSpech4)
        {
            if (gameText.text.Contains(profspech4))
            {
                fadeToBlack   = true;
                gameText.text = gameText.text.Replace(profspech4, "");
            }
        }

        if (fadeToBlack)
        {
            fader.FadeToBlack();
            if (fader.IsBlack())
            {
                gameObject.GetComponent <Renderer>().enabled = false;

                PlayerPrefs.SetInt("profTürOffen", 1);
                fadeToBlack = false;
                fadeToClear = true;
            }
        }

        if (fadeToClear)
        {
            fader.FadeToClear();
            if (fader.IsClear())
            {
                PlayerPrefs.SetInt("controllDeactive", 0);
                Destroy(gameObject);
            }
        }
    }