Kursach_StealthAction/Assets/Tremble/Editor/EditorUI/Utils/MaterialRenderDataUtil.cs
2026-10-11 19:16:11 +03:00

31 lines
1.2 KiB
C#

using System;
using UnityEditor;
using UnityEngine;
namespace TinyGoose.Tremble.Editor
{
public static class MaterialRenderDataUtil
{
public static void SetMaterialImportMode(this Material mat, MaterialImportMode mode)
=> ModifyRenderData(mat, mrd => mrd.ExportMode = mode);
public static void SetMaterialResolutionOverridden(this Material mat, bool overrideResolution)
=> ModifyRenderData(mat, mrd => mrd.IsResolutionOverridden = overrideResolution);
public static void SetMaterialResolutionX(this Material mat, MaterialExportSize size)
=> ModifyRenderData(mat, mrd => mrd.ResolutionX = size);
public static void SetMaterialResolutionY(this Material mat, MaterialExportSize size)
=> ModifyRenderData(mat, mrd => mrd.ResolutionY = size);
private static void ModifyRenderData(Material mat, Action<MaterialRenderData> action)
{
TrembleSyncSettings syncSettings = TrembleSyncSettings.Get();
MaterialRenderData renderData = TrembleSyncSettings.Get().GetMaterialRenderData(mat);
action(renderData);
EditorUtility.SetDirty(syncSettings);
}
}
}