Add RenderSession.WithOutputPath

This commit is contained in:
copecone committed 2026-08-18 11:02:08 +09:00
1 parent d8712c971e
commit 2a5ceb4889
4 files changed
+25 -12

No files matched your search

+15 -4
View File
@@ -1,6 +1,7 @@
using System; using System;
using ADOFAIRenderer.Core; using ADOFAIRenderer.Core;
using ADOFAIRenderer.Data; using ADOFAIRenderer.Data;
using ADOFAIRenderer.Util;
namespace ADOFAIRenderer.API; namespace ADOFAIRenderer.API;
@@ -29,13 +30,14 @@ public class RenderSession
private bool _timePatch = true; private bool _timePatch = true;
private bool _screenPatch = true; private bool _screenPatch = true;
private Func<bool> _endCondition = () => scrController.instance.state == States.Won;
private static Func<bool> _endCondition = () => scrController.instance.state == States.Won; private string? _outputPath = null;
/// <summary> /// <summary>
/// Sets whether automatic rendering is enabled. /// Sets whether auto mode is enabled.
/// </summary> /// </summary>
/// <param name="enabled"><c>true</c> to enable automatic rendering; otherwise, <c>false</c>. Default is <c>true</c>.</param> /// <param name="enabled"><c>true</c> to enable auto mode; otherwise, <c>false</c>. Default is <c>true</c>.</param>
/// <returns>The current <see cref="RenderSession"/> instance for method chaining.</returns> /// <returns>The current <see cref="RenderSession"/> instance for method chaining.</returns>
public RenderSession WithAuto(bool enabled = true) public RenderSession WithAuto(bool enabled = true)
{ {
@@ -73,6 +75,12 @@ public class RenderSession
return this; return this;
} }
public RenderSession WithOutputPath(string? outputPath)
{
_outputPath = outputPath;
return this;
}
/// <summary> /// <summary>
/// Applies the configured flags and initiates the render session. /// Applies the configured flags and initiates the render session.
/// </summary> /// </summary>
@@ -89,7 +97,10 @@ public class RenderSession
RenderManager.Instance.Configuration = renderConfig; RenderManager.Instance.Configuration = renderConfig;
RenderManager.Instance.StartLoadingOverride(); RenderManager.Instance.StartLoadingOverride();
RenderManager.Instance.SetupCaptureDirectory();
if (_outputPath is null) RenderManager.Instance.SetupCaptureDirectory();
else FileUtil.CreateDirectory(_outputPath);
RenderManager.Instance.SetupGameScene(); RenderManager.Instance.SetupGameScene();
} }
} }
+1 -4
View File
@@ -392,10 +392,7 @@ namespace ADOFAIRenderer.Core
public void SetupCaptureDirectory() public void SetupCaptureDirectory()
{ {
var renderDir = Path.Combine(MelonEnvironment.GameRootDirectory, "Render"); var renderDir = Path.Combine(MelonEnvironment.GameRootDirectory, "Render");
if (!Directory.Exists(renderDir)) FileUtil.CreateDirectory(renderDir);
{
Directory.CreateDirectory(renderDir);
}
} }
public void SetupGameScene() public void SetupGameScene()
+1 -1
View File
@@ -58,7 +58,7 @@ namespace ADOFAIRenderer
if (EventSystem.current == null) return; if (EventSystem.current == null) return;
var currentModule = EventSystem.current.currentInputModule; var currentModule = EventSystem.current.currentInputModule;
if (currentModule != null) return; if (currentModule) return;
Melon<RenderMod>.Logger.Msg("Unity 6 인풋 모듈 이식."); Melon<RenderMod>.Logger.Msg("Unity 6 인풋 모듈 이식.");
var newModule = EventSystem.current.gameObject.AddComponent<StandaloneInputModule>(); var newModule = EventSystem.current.gameObject.AddComponent<StandaloneInputModule>();
+8 -3
View File
@@ -1,6 +1,11 @@
namespace ADOFAIRenderer.Util; using System.IO;
public class FileUtil namespace ADOFAIRenderer.Util;
internal static class FileUtil
{ {
public static void CreateDirectory(string path)
{
if (!Directory.Exists(path)) Directory.CreateDirectory(path);
}
} }