public void SetTrackSegment(TrackSegment newSeg)
 {
     mCurrTrackSegment = newSeg;
     if (mCurrentLane < 0)
     {
         mCurrentLane = mCurrTrackSegment.pNumLanes / 2;
     }
     MoveToLane(mCurrentLane);
 }
Example #2
0
        private TrackSegment SelectNextTrackSegment()
        {
            int          rnd    = Random.Range(0, mUnusedTrackSegments.Count);
            TrackSegment outSeg = mUnusedTrackSegments[rnd];

            mUnusedTrackSegments.RemoveAt(rnd);
            mCurrentTrackSegments.Add(outSeg);
            outSeg.transform.localPosition = new Vector3(0, 0, (mCurrentTrackSegments.Count - 1) * TRACK_SEGMENT_LENGTH);
            outSeg.gameObject.SetActive(true);
            outSeg.SetupCollectables(_collectables);
            return(outSeg);
        }
Example #3
0
        private void RefreshTrackSegments()
        {
            TrackSegment removedSeg = mCurrentTrackSegments[0];

            removedSeg.gameObject.SetActive(false);
            mCurrentTrackSegments.RemoveAt(0);
            Vector3      pos    = mCurrentTrackSegments[mCurrentTrackSegments.Count - 1].transform.localPosition;
            TrackSegment newSeg = SelectNextTrackSegment();

            pos.z += TRACK_SEGMENT_LENGTH;
            newSeg.transform.localPosition = pos;
            mUnusedTrackSegments.Add(removedSeg);
        }