70 lines
2.7 KiB
C#
70 lines
2.7 KiB
C#
using UnityEngine;
|
|
using UnityEditor;
|
|
|
|
namespace RTG.Editor
|
|
{
|
|
[CustomEditor(typeof(RTFocusCamera))]
|
|
public class RTCameraInspector : UnityEditor.Editor
|
|
{
|
|
private RTFocusCamera _camera;
|
|
|
|
public override void OnInspectorGUI()
|
|
{
|
|
Camera newCamera;
|
|
|
|
var content = new GUIContent();
|
|
content.text = "Target camera";
|
|
content.tooltip = "Allows you to specify the camera object which will be controlled by the RTFocusCamera script. Note: Prefabs are not allowed. Only scene cameras can be used.";
|
|
newCamera = EditorGUILayout.ObjectField(content, _camera.TargetCamera, typeof(Camera), true) as Camera;
|
|
if (newCamera != _camera.TargetCamera)
|
|
{
|
|
EditorUndoEx.Record(_camera);
|
|
_camera.SetTargetCamera(newCamera);
|
|
}
|
|
|
|
_camera.Settings.RenderEditorGUI(_camera);
|
|
|
|
EditorGUILayout.Separator();
|
|
_camera.MoveSettings.UsesFoldout = true;
|
|
_camera.MoveSettings.FoldoutLabel = "Move settings";
|
|
_camera.MoveSettings.RenderEditorGUI(_camera);
|
|
|
|
_camera.PanSettings.UsesFoldout = true;
|
|
_camera.PanSettings.FoldoutLabel = "Pan settings";
|
|
_camera.PanSettings.RenderEditorGUI(_camera);
|
|
|
|
_camera.LookAroundSettings.UsesFoldout = true;
|
|
_camera.LookAroundSettings.FoldoutLabel = "Look around settings";
|
|
_camera.LookAroundSettings.RenderEditorGUI(_camera);
|
|
|
|
_camera.OrbitSettings.UsesFoldout = true;
|
|
_camera.OrbitSettings.FoldoutLabel = "Orbit settings";
|
|
_camera.OrbitSettings.RenderEditorGUI(_camera);
|
|
|
|
_camera.ZoomSettings.UsesFoldout = true;
|
|
_camera.ZoomSettings.FoldoutLabel = "Zoom settings";
|
|
_camera.ZoomSettings.RenderEditorGUI(_camera);
|
|
|
|
_camera.FocusSettings.UsesFoldout = true;
|
|
_camera.FocusSettings.FoldoutLabel = "Focus settings";
|
|
_camera.FocusSettings.RenderEditorGUI(_camera);
|
|
|
|
_camera.RotationSwitchSettings.UsesFoldout = true;
|
|
_camera.RotationSwitchSettings.FoldoutLabel = "Rotation switch settings";
|
|
_camera.RotationSwitchSettings.RenderEditorGUI(_camera);
|
|
|
|
_camera.ProjectionSwitchSettings.UsesFoldout = true;
|
|
_camera.ProjectionSwitchSettings.FoldoutLabel = "Projection switch settings";
|
|
_camera.ProjectionSwitchSettings.RenderEditorGUI(_camera);
|
|
|
|
_camera.Hotkeys.UsesFoldout = true;
|
|
_camera.Hotkeys.FoldoutLabel = "Hotkeys";
|
|
_camera.Hotkeys.RenderEditorGUI(_camera);
|
|
}
|
|
|
|
private void OnEnable()
|
|
{
|
|
_camera = target as RTFocusCamera;
|
|
}
|
|
}
|
|
} |