void Update() { if (mcts != null) { //While the MCTS is still running, display progress information about the time remaining and the amounts of nodes created to the user if (!mcts.Finished) { //Display the amount of nodes created so far if the timer is still running if (stopTimer != null) { aiTurnProgressText.text = mcts.UniqueNodes + " nodes " + TimeLeft.Seconds.ToString() + "." + TimeLeft.Milliseconds.ToString("000") + "s/" + timeToRunFor + "s"; } //Add new nodes to the LineDraw Lines array, so that they can be represented graphically for (int targetIndex = mcts.AllNodes.Count; currentIndex < targetIndex & mcts.AllNodes.Count > 1; currentIndex++) { NodeObject currentNode = mcts.AllNodes[currentIndex]; if ((NodeObject)currentNode.Parent == null) { return; } currentNode.SetPosition(VisualisationType.Standard3D); LineDraw.Lines.Add(new ColoredLine(currentNode.Position, ((NodeObject)currentNode.Parent).Position, LineDraw.lineColors[currentNode.Depth % LineDraw.lineColors.Length])); } } } }