Add Verification to Render Settings Values

This commit is contained in:
copecone committed 2026-05-22 21:44:16 +09:00
1 parent 7d76cfeffd
commit c16fe25e7d
1 file changed
+28 -9
+28 -9
View File
@@ -39,13 +39,34 @@ namespace ADOFAIRenderer.UI
{
if (IsAnyFieldEmpty()) return;
if (RenderMod.IsRendering) return;
Melon<RenderMod>.Logger.Msg($"레벨 로드: {RenderManager.LevelPath}");
double.TryParse(targetFPSInput.text, out var targetFPS);
double.TryParse(videoFPSInput.text, out var videoFPS);
int.TryParse(renderWidthInput.text, out var renderWidth);
int.TryParse(renderHeightInput.text, out var renderHeight);
int.TryParse(bitrateInput.text, out var bitrate);
if (!double.TryParse(targetFPSInput.text, out var targetFPS) || targetFPS <= 0)
{
Melon<RenderMod>.Logger.Error("올바르지 않은 Target FPS 값입니다. 0보다 큰 숫자여야 합니다.");
return;
}
if (!double.TryParse(videoFPSInput.text, out var videoFPS) || videoFPS <= 0)
{
Melon<RenderMod>.Logger.Error("올바르지 않은 Video FPS 값입니다. 0보다 큰 숫자여야 합니다.");
return;
}
if (!int.TryParse(renderWidthInput.text, out var renderWidth) || renderWidth <= 0 || renderWidth > SystemInfo.maxTextureSize)
{
Melon<RenderMod>.Logger.Error($"올바르지 않은 Render Width 값입니다. 1에서 {SystemInfo.maxTextureSize} 사이의 정수여야 합니다.");
return;
}
if (!int.TryParse(renderHeightInput.text, out var renderHeight) || renderHeight <= 0 || renderHeight > SystemInfo.maxTextureSize)
{
Melon<RenderMod>.Logger.Error($"올바르지 않은 Render Height 값입니다. 1에서 {SystemInfo.maxTextureSize} 사이의 정수여야 합니다.");
return;
}
if (!int.TryParse(bitrateInput.text, out var bitrate) || bitrate <= 0)
{
Melon<RenderMod>.Logger.Error("올바르지 않은 Bitrate 값입니다. 0보다 큰 정수여야 합니다.");
return;
}
Melon<RenderMod>.Logger.Msg($"레벨 로드: {RenderManager.LevelPath}");
var selectedCodecIndex = codecDropdown.value;
var selectedCodecName = codecDropdown.options[selectedCodecIndex].text;
@@ -75,9 +96,7 @@ namespace ADOFAIRenderer.UI
// 드롭다운은 기본적으로 항상 무언가 선택되어 있지만(0번 항목 등),
// 만약 '선택 안함(-1)' 같은 예외 처리가 필요하다면 아래처럼 검사할 수 있습니다.
if (codecDropdown.value < 0) return true;
return false;
return codecDropdown.value < 0;
}
}
}