#if UNITY_EDITOR using UnityEditor; using UnityEngine; namespace AdaptUI { [CustomEditor(typeof(CameraFOVAdapter))] public class CameraFOVAdapterEditor : Editor { public override void OnInspectorGUI() { CameraFOVAdapter adapter = (CameraFOVAdapter)target; Camera cam = adapter.GetComponent(); EditorGUILayout.Space(); EditorGUILayout.LabelField("相机 FOV 适配", EditorStyles.boldLabel); // 默认值只显示,不允许修改 EditorGUILayout.LabelField("默认 FOV(挂载时记录)", adapter.defaultFOV.ToString("F2")); EditorGUILayout.Space(); adapter.iPhoneFOV = EditorGUILayout.FloatField("iPhone FOV", adapter.iPhoneFOV); adapter.iPadFOV = EditorGUILayout.FloatField("iPad FOV", adapter.iPadFOV); EditorGUILayout.Space(); EditorGUILayout.LabelField("操作", EditorStyles.boldLabel); if (GUILayout.Button("根据当前设备自动应用 FOV")) { adapter.ApplyDeviceFOV(); EditorUtility.SetDirty(adapter); } if (GUILayout.Button("应用 iPhone 配置到相机")) { cam.fieldOfView = adapter.iPhoneFOV; } if (GUILayout.Button("记录当前 FOV 为 iPhone 配置")) { adapter.SetFOVForDevice(DeviceTypeHelper.DeviceType.iPhone, cam.fieldOfView); EditorUtility.SetDirty(adapter); } if (GUILayout.Button("应用 iPad 配置到相机")) { cam.fieldOfView = adapter.iPadFOV; } if (GUILayout.Button("记录当前 FOV 为 iPad 配置")) { adapter.SetFOVForDevice(DeviceTypeHelper.DeviceType.iPad, cam.fieldOfView); EditorUtility.SetDirty(adapter); } if (GUILayout.Button("重置为默认 FOV")) { cam.fieldOfView = adapter.defaultFOV; } } } } #endif