30 lines
1.6 KiB
C#
30 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);
|
|
}
|
|
}
|
|
} |