protected void UserUpdate() { if (!_goMode) { if (_waypointArrow != null) { _currentPick = _currentPick != Vector3.back ? _currentPick : _waypointArrow.transform.position; Vector3[] newPositioning = FindRouteController.GetRoute(_currentPick); HexEditor.TouchingCell(); if (HexGrid.LastPick != _currentPick) { _lastPick = _currentPick; _currentPick = HexGrid.LastPick; _waypointArrow.SetQueuePositions(newPositioning); _waypointArrow.SetDesiredPosition(_currentPick); ColorPath(newPositioning, _lastPick != _waypointArrow.transform.position ? _lastPick : Vector3.back); } else { _waypointArrow.GoTrue(); _goMode = true; _currentPick = Vector3.back; ClearColorPath(); TurnShifterController.SetBlockSelection(_goMode); } } } }