private void AddProblemsToFeatLenght() { ProblemContainer lastProblem = _movableProblems.Last.Value; if ((lastProblem.transform.position.x + lastProblem.Length()) < StartPosition.position.x) { CreateProblem(); } }
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(); }
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); }
public void ReSpawnBorder(ProblemContainer item) { item.Recycle(); _movableProblems.Remove(item); }