From ced281f0392d09165c8f9cd882cfb87c8d3ac49a99c93235d19c526ac89478f1 Mon Sep 17 00:00:00 2001 From: copecone Date: Fri, 7 Aug 2026 20:04:30 +0900 Subject: [PATCH] Fix Random Seed Value is not Removable --- UI/RenderConfigUIManager.cs | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/UI/RenderConfigUIManager.cs b/UI/RenderConfigUIManager.cs index e739ed5..5033547 100644 --- a/UI/RenderConfigUIManager.cs +++ b/UI/RenderConfigUIManager.cs @@ -178,17 +178,16 @@ namespace ADOFAIRenderer.UI // 4. 랜덤 시드 로우 var randomSeedRow = CreateRow(); var randomSeedLabel = CreateFormLabel("랜덤 시드 (입력 선택)"); - var randomSeedField = new IntegerField { name = "AdvancedRandomSeed", label = "", value = tempConfig.RandomSeed ?? 0 }; - - if (!tempConfig.RandomSeed.HasValue) + var randomSeedField = new TextField { name = "AdvancedRandomSeed", label = "", value = tempConfig.RandomSeed?.ToString() ?? string.Empty }; + + randomSeedField.RegisterValueChangedCallback(evt => { - var textProperty = typeof(IntegerField).GetProperty("text", System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.FlattenHierarchy); - if (textProperty == null) + if (string.IsNullOrEmpty(evt.newValue)) return; + if (!int.TryParse(evt.newValue, out _) && evt.newValue != "-") { - textProperty = typeof(TextInputBaseField).GetProperty("text", System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.FlattenHierarchy); + randomSeedField.SetValueWithoutNotify(evt.previousValue); } - textProperty?.SetValue(randomSeedField, string.Empty); - } + }); randomSeedRow.Add(randomSeedLabel); randomSeedRow.Add(randomSeedField); @@ -214,9 +213,9 @@ namespace ADOFAIRenderer.UI { tempConfig.ProcessAudio = processAudioToggle.value; tempConfig.NonTile = nonTileToggle.value; - if (!string.IsNullOrEmpty(randomSeedField.text)) + if (int.TryParse(randomSeedField.value?.Trim(), out var seed)) { - tempConfig.RandomSeed = randomSeedField.value; + tempConfig.RandomSeed = seed; } else {