IEnumerator CreateLineFromMousePos() { while (true) { if (Input.GetMouseButtonDown(1)) { if (line != null) { GameObject.Destroy(line); } GameStateManager.Instance.SetInactiveState(); GameStateManager.Instance.SetDragComponentsState(); yield break; } LineGeneratorHelper.EndPositionVariables vars = new LineGeneratorHelper.EndPositionVariables( line, startPosition, Camera.main.ScreenToWorldPoint(Input.mousePosition), originalScale, originalWidth, oldZAngle); (line, oldZAngle) = LineGeneratorHelper.SetEndPositionAndGetAngle(vars); //SetEndPosition(Camera.main.ScreenToWorldPoint(Input.mousePosition)); yield return(null); } }