using UnityEditor; using UnityEngine; using UnityEngine.UI; namespace NEG.Utils.Editor.ComponentsAdditionalItems { public static class CanvasScalerDefault { [MenuItem("CONTEXT/CanvasScaler/Full HD horizontal", false, 2000)] public static void SetFullHdHorizontal(MenuCommand command) => SetComponent(command, 1920, 1080); [MenuItem("CONTEXT/CanvasScaler/Full HD vertical", false, 2000)] public static void SetFullHdVertical(MenuCommand command) => SetComponent(command, 1080, 1920); [MenuItem("CONTEXT/CanvasScaler/Full 2k horizontal", false, 2000)] public static void Set2KHorizontal(MenuCommand command) => SetComponent(command, 2560, 1440); [MenuItem("CONTEXT/CanvasScaler/Full 2k vertical", false, 2000)] public static void Set2KVertical(MenuCommand command) => SetComponent(command, 1440, 2560); [MenuItem("CONTEXT/CanvasScaler/Full 4k horizontal", false, 2000)] public static void Set4KHorizontal(MenuCommand command) => SetComponent(command, 3840, 2160); [MenuItem("CONTEXT/CanvasScaler/Full 4k vertical", false, 2000)] public static void Set4KVertical(MenuCommand command) => SetComponent(command, 2160, 3840); private static void SetComponent(MenuCommand command, int width, int height) { var scaler = (CanvasScaler)command.context; scaler.uiScaleMode = CanvasScaler.ScaleMode.ScaleWithScreenSize; scaler.matchWidthOrHeight = width > height ? 1f : 0f; scaler.referenceResolution = new Vector2(width, height); } } }