Exemple #1
0
    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);
    }
Exemple #2
0
 public static void Destroy(Object obj)
 {
     if (obj != null)
     {
         if (!obj.willDestroy)
         {
             obj.willDestroy = true;
             DestroySet.Add(obj);
         }
     }
 }
Exemple #3
0
    //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;
    }