private void ShowCoordinatesData(RageSpline rageSpline) { EditorGUILayout.Separator(); GuiExtensions.Horizontal (( ) => { EditorGUILayout.LabelField ("Point X|Y", "", GUILayout.MinWidth (40f)); EditorGUILayout.LabelField ("Handle In X|Y", "", GUILayout.MinWidth (40f)); EditorGUILayout.LabelField ("Handle Out X|Y", "", GUILayout.MinWidth (40f)); }); EditorGUIUtility.LookLikeControls(); for (int p = 0; p < selectedControlPoints.Count; p++) { int i = selectedControlPoints[p]; switch (rageSpline.showCoordinates) { case RageSpline.ShowCoordinates.Local: EditorGUILayout.BeginHorizontal(); Vector2 newPos = new Vector2(); newPos.x = EditorGUILayout.FloatField (rageSpline.GetPosition (i).x, GUILayout.MinWidth (30f)); newPos.y = EditorGUILayout.FloatField (rageSpline.GetPosition (i).y, GUILayout.MinWidth (30f)); rageSpline.SetPoint (i, newPos); Vector2 newIn = new Vector2(); Vector2 newOut = new Vector2(); newIn.x = EditorGUILayout.FloatField (rageSpline.GetInControlPositionPointSpace (i).x, GUILayout.MinWidth (30f)); newIn.y = EditorGUILayout.FloatField (rageSpline.GetInControlPositionPointSpace (i).y, GUILayout.MinWidth (30f)); newOut.x = EditorGUILayout.FloatField (rageSpline.GetOutControlPositionPointSpace (i).x, GUILayout.MinWidth (30f)); newOut.y = EditorGUILayout.FloatField (rageSpline.GetOutControlPositionPointSpace (i).y, GUILayout.MinWidth (30f)); rageSpline.SetInControlPositionPointSpace (i, newIn); rageSpline.SetOutControlPositionPointSpace (i, newOut); EditorGUILayout.EndHorizontal(); break; case RageSpline.ShowCoordinates.World: EditorGUILayout.BeginHorizontal(); Vector2 newPos2 = new Vector2(); newPos2.x = EditorGUILayout.FloatField (rageSpline.GetPositionWorldSpace (i).x, GUILayout.MinWidth (30f)); newPos2.y = EditorGUILayout.FloatField (rageSpline.GetPositionWorldSpace (i).y, GUILayout.MinWidth (30f)); rageSpline.SetPointWorldSpace (i, newPos2); Vector2 newIn2 = new Vector2(); Vector2 newOut2 = new Vector2(); newIn2.x = EditorGUILayout.FloatField (rageSpline.GetInControlPositionWorldSpace (i).x, GUILayout.MinWidth (30f)); newIn2.y = EditorGUILayout.FloatField (rageSpline.GetInControlPositionWorldSpace (i).y, GUILayout.MinWidth (30f)); newOut2.x = EditorGUILayout.FloatField (rageSpline.GetOutControlPositionWorldSpace (i).x, GUILayout.MinWidth (30f)); newOut2.y = EditorGUILayout.FloatField (rageSpline.GetOutControlPositionWorldSpace (i).y, GUILayout.MinWidth (30f)); rageSpline.SetInControlPositionWorldSpace (i, newIn2); rageSpline.SetOutControlPositionWorldSpace (i, newOut2); EditorGUILayout.EndHorizontal(); break; } } }