Files
Hasebe/Library/PackageCache/com.unity.cinemachine@1b8d58983403/Editor/Editors/CinemachinePixelPerfectEditor.cs
T
2026-09-24 20:49:06 +03:00

41 lines
1.4 KiB
C#

using UnityEditor;
using UnityEngine.UIElements;
namespace Unity.Cinemachine.Editor
{
[CustomEditor(typeof(CinemachinePixelPerfect))]
[CanEditMultipleObjects]
class CinemachinePixelPerfectEditor : UnityEditor.Editor
{
public override VisualElement CreateInspectorGUI()
{
var ux = new VisualElement();
#if CINEMACHINE_URP || CINEMACHINE_PIXEL_PERFECT_2_0_3
this.AddMissingCmCameraHelpBox(ux);
var infoBox = ux.AddChild(new HelpBox(
"This component is driving the Pixel Perfect Camera component on the Unity Camera.",
HelpBoxMessageType.Info));
var helpBox = ux.AddChild(new HelpBox(
"This component requires an active Pixel Perfect Camera component on the Unity Camera.",
HelpBoxMessageType.Warning));
ux.TrackAnyUserActivity(() =>
{
var pp = target as CinemachinePixelPerfect;
if (pp != null)
{
bool isValid = pp.HasValidPixelPerfectCamera();
infoBox.SetVisible(isValid && pp.enabled);
helpBox.SetVisible(!isValid);
}
});
#else
ux.Add(new HelpBox("This component is only valid within URP projects", HelpBoxMessageType.Warning));
#endif
return ux;
}
}
}