public override void OnInspectorGUI() { base.OnInspectorGUI(); SceneCameraMovement editorObj = target as SceneCameraMovement; if (editorObj == null) { return; } if (editorObj.movementMode == MovementMode.FromPosition) { editorObj.scenePosition = EditorGUILayout.Vector3Field("Scene position", editorObj.scenePosition); } else { editorObj.referencePosition = (Transform)EditorGUILayout.ObjectField("Reference", editorObj.referencePosition, typeof(Transform), true, null); } if (GUILayout.Button("Move")) { if (editorObj.movementMode == MovementMode.FromPosition) { SceneView.lastActiveSceneView.LookAt(editorObj.scenePosition); } else { SceneView.lastActiveSceneView.LookAt(editorObj.referencePosition.position, editorObj.referencePosition.rotation); } SceneView.lastActiveSceneView.Repaint(); } if (GUILayout.Button("Load Position")) { editorObj.scenePosition = SceneView.lastActiveSceneView.pivot; } if (GUILayout.Button("Save")) { GameObject newGO = new GameObject("SceneCameraPosition"); newGO.transform.parent = editorObj.transform; newGO.transform.position = editorObj.scenePosition; newGO.transform.rotation = SceneView.lastActiveSceneView.rotation; } }
private void ChangePitch(float aVal) { this.mPitch += aVal; SceneCameraMovement.WrapAngle(ref this.mPitch); base.transform.localEulerAngles = new Vector3(this.mPitch, this.mHdg, 0f); }