IEnumerator player1XTether() { //speed up background speed while tether animation is running; speedIncrease = 0.02f; // p1 going forwards if (isFrontCurrentPlayer == true && transform.position.x - otherPlayerGameObject.transform.position.x < tetherDistanceX) { if (transform.position.x > 0) { transform.position += new Vector3(-0.05f, 0, 0); otherPlayerGameObject.transform.position -= new Vector3(speed, 0, 0); speed += speedIncrease; //Boost foreground speed for all generated obstacles foreach (GameObject check in GameObject.FindGameObjectsWithTag("Floor")) { DestroySet destroySet = check.GetComponent <DestroySet> (); if (destroySet != null) { destroySet.speed = destroySet.fastSpeed; } } bgScroll.speed = bgScroll.normalSpeed; } else { transform.position += new Vector3(speed, 0, 0); speed += speedIncrease; } } else if (isFrontCurrentPlayer == false && transform.position.x > endDistanceX) { transform.position -= new Vector3(speed, 0, 0); speed += speedIncrease; } //reset variables once tether distance is travelled else { speed = 0; checkPulledCurrentPlayer = false; bgScroll.speed = bgScroll.normalSpeed; //undo boost to foreground speed for all generated obstacles foreach (GameObject check in GameObject.FindGameObjectsWithTag(groundTag)) { DestroySet destroySet = check.GetComponent <DestroySet> (); if (destroySet != null) { destroySet.speed = destroySet.normalSpeed; } } } yield return(0); }
public static void Destroy(Object obj) { if (obj != null) { if (!obj.willDestroy) { obj.willDestroy = true; DestroySet.Add(obj); } } }
//Speed boost IEnumerator Speedbump() { // initiate values GameObject background; GameObject generator; background = GameObject.Find(backdropLabel); generator = GameObject.Find("Main Camera"); BackgroundScroll bgScroll = background.GetComponent <BackgroundScroll> (); GenerateLevelSets genLevel = generator.GetComponent <GenerateLevelSets> (); // Boost foreground speed for all generated obstacles foreach (GameObject check in GameObject.FindGameObjectsWithTag(groundTag)) { DestroySet destroySet = check.GetComponent <DestroySet>(); if (destroySet != null) { destroySet.speed = destroySet.fastSpeed; } } // Boost gen object speed while using powerup genLevel.speed = genLevel.fastSpeed; // Boost background speed bgScroll.speed = bgScroll.fastSpeed; // Duration of boost yield return(new WaitForSeconds(speedBumpDuration)); // Boost foreground speed for all generated obstacles foreach (GameObject check in GameObject.FindGameObjectsWithTag(groundTag)) { DestroySet destroySet = check.GetComponent <DestroySet>(); if (destroySet != null) { destroySet.speed = destroySet.normalSpeed; } } // Undo boost to gen object speed genLevel.speed = genLevel.normalSpeed; // Undo boosted speed for background bgScroll.speed = bgScroll.normalSpeed; }