| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- #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<Camera>();
- 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
|