// 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); } } } }
//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); } } }
// 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); } } }