コード例 #1
0
        private void AddProblemsToFeatLenght()
        {
            ProblemContainer lastProblem = _movableProblems.Last.Value;

            if ((lastProblem.transform.position.x + lastProblem.Length()) < StartPosition.position.x)
            {
                CreateProblem();
            }
        }
コード例 #2
0
        private void CreateProblems()
        {
            _movableProblems = new LinkedList <ProblemContainer>();
            //Creating first problem
            ProblemContainer firstProblemContainer = CreateRandomProblem();

            //Add first problem with offset
            firstProblemContainer.transform.position = new Vector3(StartPosition.position.x - StartOffsetX, StartPosition.position.y, 0);
            _movableProblems.AddFirst(firstProblemContainer);
            AddProblemsToFeatLenght();
        }
コード例 #3
0
        private void CreateProblem()
        {
            ProblemContainer problem         = CreateRandomProblem();
            ProblemContainer lastProblem     = _movableProblems.Last.Value;
            float            problemLength   = lastProblem.Length();
            Vector3          distance        = DistanceProblems * _normalizedDirection;
            Vector3          newLastPosition = (_normalizedDirection * problemLength) + lastProblem.transform.position + distance;

            problem.transform.position = newLastPosition;
            _movableProblems.AddLast(problem);
        }
コード例 #4
0
 public void ReSpawnBorder(ProblemContainer item)
 {
     item.Recycle();
     _movableProblems.Remove(item);
 }