private void OnTranslate()
 {
     if (Input.GetKeyDown(KeyCode.UpArrow))
     {
         for (int i = 0; i < currentCurve.ControlPoints.Count; i++)
         {
             currentCurve.ControlPoints[i] = TransformBezierUtils.Translate(currentCurve.ControlPoints[i], new Vector3(0, 1, 0));
         }
         currentCurve.DrawCurve();
     }
     if (Input.GetKeyDown(KeyCode.DownArrow))
     {
         for (int i = 0; i < currentCurve.ControlPoints.Count; i++)
         {
             currentCurve.ControlPoints[i] = TransformBezierUtils.Translate(currentCurve.ControlPoints[i], new Vector3(0, -1, 0));
         }
         currentCurve.DrawCurve();
     }
     if (Input.GetKeyDown(KeyCode.LeftArrow))
     {
         for (int i = 0; i < currentCurve.ControlPoints.Count; i++)
         {
             currentCurve.ControlPoints[i] = TransformBezierUtils.Translate(currentCurve.ControlPoints[i], new Vector3(-1, 0, 0));
         }
         currentCurve.DrawCurve();
     }
     if (Input.GetKeyDown(KeyCode.RightArrow))
     {
         for (int i = 0; i < currentCurve.ControlPoints.Count; i++)
         {
             currentCurve.ControlPoints[i] = TransformBezierUtils.Translate(currentCurve.ControlPoints[i], new Vector3(1, 0, 0));
         }
         currentCurve.DrawCurve();
     }
     if (Input.GetKeyDown(KeyCode.Z))
     {
         for (int i = 0; i < currentCurve.ControlPoints.Count; i++)
         {
             currentCurve.ControlPoints[i] = TransformBezierUtils.Translate(currentCurve.ControlPoints[i], new Vector3(0, 0, 1));
         }
         currentCurve.DrawCurve();
     }
     if (Input.GetKeyDown(KeyCode.S))
     {
         for (int i = 0; i < currentCurve.ControlPoints.Count; i++)
         {
             currentCurve.ControlPoints[i] = TransformBezierUtils.Translate(currentCurve.ControlPoints[i], new Vector3(0, 0, -1));
         }
         currentCurve.DrawCurve();
     }
 }
 private void OnShear()
 {
     if (Input.GetKeyDown(KeyCode.UpArrow))
     {
         for (int i = 0; i < currentCurve.ControlPoints.Count; i++)
         {
             currentCurve.ControlPoints[i] = TransformBezierUtils.Shear(currentCurve.ControlPoints[i], 2, 0.2f);
         }
     }
     if (Input.GetKeyDown(KeyCode.DownArrow))
     {
         for (int i = 0; i < currentCurve.ControlPoints.Count; i++)
         {
             currentCurve.ControlPoints[i] = TransformBezierUtils.ShearInvert(currentCurve.ControlPoints[i], 2, 0.2f);
         }
     }
     currentCurve.DrawCurve();
 }
 private void OnRotateZ()
 {
     if (Input.GetKeyDown(KeyCode.UpArrow))
     {
         for (int i = 0; i < currentCurve.ControlPoints.Count; i++)
         {
             currentCurve.ControlPoints[i] = TransformBezierUtils.RotateZ(currentCurve.ControlPoints[i], 10);
         }
         currentCurve.DrawCurve();
     }
     if (Input.GetKeyDown(KeyCode.DownArrow))
     {
         for (int i = 0; i < currentCurve.ControlPoints.Count; i++)
         {
             currentCurve.ControlPoints[i] = TransformBezierUtils.RotateZInvert(currentCurve.ControlPoints[i], 10);
         }
         currentCurve.DrawCurve();
     }
 }