Neg_Utils/Editor/ComponentsAdditionalItems/CanvasScalerDefault.cs
2024-02-12 21:26:24 +01:00

35 lines
1.6 KiB
C#

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);
}
}
}