Esempio n. 1
0
    private Vector2 GetNextPos()
    {
        float time = Time.deltaTime;

        if (collided && !recoveringFromCollision)
        {
            collisionRecoveryTime             = 0; // SI HAY ALGO RARO BORRAR
            GetComponent <Renderer>().enabled = false;
            speedAtCollision = originalSpeed;
            // speed /= 3;
            speed    = originalSpeed / 3;
            collided = false;
            recoveringFromCollision = true;
        }
        if (recoveringFromCollision)
        {
            twinkleDelta += time;
            if (twinkleDelta > twinkleTime)
            {
                twinkleDelta = 0;
                if (GetComponent <Renderer>().enabled == false)
                {
                    GetComponent <Renderer>().enabled = true;
                }
                else
                {
                    GetComponent <Renderer>().enabled = false;
                }
            }
            collisionRecoveryTime += time;
            if (speed < speedAtCollision)
            {
                speed += collisionRecoveryTime * collisionRecoveryTime;
            }
            else
            {
                GetComponent <Renderer>().enabled = true;
                collisionRecoveryTime             = 0;
                recoveringFromCollision           = false;
            }
        }
        float advance    = time * speed;
        float pathLength = path.GetLength();
        float advancedPercentageInFrame = advance / pathLength;
        float percentageOfLap           = previousS + advancedPercentageInFrame;

        if (percentageOfLap > 1)
        {
            CurrentGame.GetInstance().JustMadeLap();
            numberOfLaps++;
            percentageOfLap -= 1;
        }
        distanceMade = percentageOfLap + numberOfLaps;


        Vector2 pos = path.GetPos(percentageOfLap);

        previousS = percentageOfLap;
        return(pos);
    }
Esempio n. 2
0
 public void getHit()
 {
     if (CurrentGame.GetInstance().GetCrash())
     {
         loose();
     }
     else
     {
         score = 0;
         setText();
     }
 }
Esempio n. 3
0
 void Update()
 {
     if (CurrentGame.GetInstance().LapForTime())
     {
         CurrentGame.GetInstance().AddTimeForLap();
         makeLap();
     }
     timeRemaining -= Time.deltaTime;
     if (timeRemaining < 0)
     {
         loose();
     }
     setText();
 }
Esempio n. 4
0
 // Use this for initialization
 void Start()
 {
     if (CurrentGame.GetInstance().GetPractice())
     {
         scoreHandler = practiceHandler;
     }
     else if (CurrentGame.GetInstance().GetCrash())
     {
         scoreHandler = crashHandler;
     }
     else
     {
         scoreHandler = raceHandler;
     }
     Debug.Log("race");
Esempio n. 5
0
 public void StartCrash()
 {
     CurrentGame.GetInstance().SetCrash();
     SceneManager.LoadScene("SampleScene");
 }