Remove Useless Logs

This commit is contained in:
copecone committed 2026-06-30 00:24:34 +09:00
1 parent b7a6a240bd
commit efd4ea7c0b
2 files changed
+89 -88

No files matched your search

+84 -86
View File
@@ -32,8 +32,6 @@ namespace ADOFAIRenderer.UI
private void Start() private void Start()
{ {
Melon<RenderMod>.Logger.Msg("[UI] Start 진입");
// Init Validators // Init Validators
_intValidator _intValidator
.AddLimits("RenderWidth", new PositiveOnlyIntegerLimit(), new RangeIntegerLimit(1, 7680)) .AddLimits("RenderWidth", new PositiveOnlyIntegerLimit(), new RangeIntegerLimit(1, 7680))
@@ -46,29 +44,15 @@ namespace ADOFAIRenderer.UI
_intValidator.SetupValidation(); _intValidator.SetupValidation();
_doubleValidator.SetupValidation(); _doubleValidator.SetupValidation();
Melon<RenderMod>.Logger.Msg("[UI] Validator 설정 완료");
// Init Enum Binders & Event Listeners // Init Enum Binders & Event Listeners
_codecBinder = new EnumDropdownBinder<Codec>(_root, "CodecDropdown", Codec.H264); _codecBinder = new EnumDropdownBinder<Codec>(_root, "CodecDropdown", Codec.H264);
Melon<RenderMod>.Logger.Msg("[UI] CodecBinder 생성 완료");
_codecBinder.OnValueChanged(value => RenderManager.Instance.Configuration.Codec = value); _codecBinder.OnValueChanged(value => RenderManager.Instance.Configuration.Codec = value);
Melon<RenderMod>.Logger.Msg("[UI] CodecBinder 콜백 등록 완료");
// Bind Data
_root.dataSource = RenderManager.Instance.Configuration;
// Attach Button Event Listener // Attach Button Event Listener
_goRenderButton = _root.Q<Button>("GoRenderButton"); _goRenderButton = _root.Q<Button>("GoRenderButton");
if (_goRenderButton != null) _goRenderButton?.RegisterCallback<ClickEvent>(_ => TryGoRender());
{
Melon<RenderMod>.Logger.Msg($"[UI] GoRenderButton 발견: pickingMode={_goRenderButton.pickingMode}, enabledSelf={_goRenderButton.enabledSelf}");
_goRenderButton.RegisterCallback<ClickEvent>(_ => TryGoRender());
}
else
{
Melon<RenderMod>.Logger.Error("Button 'GoRenderButton'을(를) 찾을 수 없습니다.");
}
_encodingConfigButton = _root.Q<Button>("EncodingSettingsButton"); _encodingConfigButton = _root.Q<Button>("EncodingSettingsButton");
if (_encodingConfigButton != null) if (_encodingConfigButton != null)
{ {
@@ -91,8 +75,6 @@ namespace ADOFAIRenderer.UI
private void OpenEncodingConfig() private void OpenEncodingConfig()
{ {
Melon<RenderMod>.Logger.Msg("[UI] OpenEncodingConfig 호출됨");
var config = RenderManager.Instance.Configuration; var config = RenderManager.Instance.Configuration;
config.EncodingConfig ??= GenerateEncodingConfig(); config.EncodingConfig ??= GenerateEncodingConfig();
@@ -122,38 +104,20 @@ namespace ADOFAIRenderer.UI
_encodingConfigContainer.style.justifyContent = Justify.Center; _encodingConfigContainer.style.justifyContent = Justify.Center;
_encodingConfigContainer.style.alignItems = Align.Center; _encodingConfigContainer.style.alignItems = Align.Center;
// 로우 생성 헬퍼 (UXML의 ui-row 속성 복제)
VisualElement CreateRow()
{
var row = new VisualElement();
row.AddToClassList("ui-row");
row.style.flexDirection = FlexDirection.Row;
row.style.height = 130;
row.style.maxHeight = 130;
row.style.minHeight = 80;
row.style.justifyContent = Justify.Center;
row.style.alignItems = Align.Center;
return row;
}
// 라벨 생성 헬퍼 (우측 정렬 적용하여 인풋과의 인접성 향상)
Label CreateFormLabel(string text)
{
var label = new Label(text);
label.style.unityTextAlign = TextAnchor.MiddleRight;
label.style.color = new StyleColor(Color.white);
return label;
}
// 2. 타이틀 로우 // 2. 타이틀 로우
var titleRow = CreateRow(); var titleRow = CreateRow();
var title = new Label("인코딩 설정"); var title = new Label("인코딩 설정")
title.style.fontSize = 36; {
title.style.unityFontStyleAndWeight = FontStyle.Bold; style =
title.style.color = new StyleColor(Color.white); {
title.style.unityTextAlign = TextAnchor.MiddleCenter; fontSize = 36,
title.style.width = 770; // 360 * 2 + 50 (여백)에 맞춤 unityFontStyleAndWeight = FontStyle.Bold,
title.style.height = StyleKeyword.Auto; color = new StyleColor(Color.white),
unityTextAlign = TextAnchor.MiddleCenter,
width = 770, // 360 * 2 + 50 (여백)에 맞춤
height = StyleKeyword.Auto
}
};
titleRow.Add(title); titleRow.Add(title);
_encodingConfigContainer.Add(titleRow); _encodingConfigContainer.Add(titleRow);
@@ -217,16 +181,21 @@ namespace ADOFAIRenderer.UI
warningRow.style.maxHeight = StyleKeyword.Null; warningRow.style.maxHeight = StyleKeyword.Null;
warningRow.style.minHeight = StyleKeyword.Null; warningRow.style.minHeight = StyleKeyword.Null;
var warningLabel = new Label("※ QP 0 (무손실)은 일부 하드웨어/코덱에서 지원되지 않을 수 있으며, 인코딩 실패 시 CPU 모드로 폴백됩니다."); var warningLabel = new Label("※ QP 0 (무손실)은 일부 하드웨어/코덱에서 지원되지 않을 수 있으며, 인코딩 실패 시 CPU 모드로 폴백됩니다.")
warningLabel.style.fontSize = 20; // 30px에서 20px로 오버라이드 {
warningLabel.style.color = new StyleColor(new Color(0.9f, 0.6f, 0.2f)); style =
warningLabel.style.whiteSpace = WhiteSpace.Normal; {
warningLabel.style.width = 720; // 360px에서 720px로 오버라이드 fontSize = 20, // 30px에서 20px로 오버라이드
warningLabel.style.height = StyleKeyword.Auto; color = new StyleColor(new Color(0.9f, 0.6f, 0.2f)),
warningLabel.style.unityTextAlign = TextAnchor.MiddleCenter; whiteSpace = WhiteSpace.Normal,
warningLabel.style.marginTop = 10; width = 720, // 360px에서 720px로 오버라이드
warningLabel.style.marginBottom = 10; height = StyleKeyword.Auto,
unityTextAlign = TextAnchor.MiddleCenter,
marginTop = 10,
marginBottom = 10
}
};
warningRow.Add(warningLabel); warningRow.Add(warningLabel);
_encodingConfigContainer.Add(warningRow); _encodingConfigContainer.Add(warningRow);
@@ -243,18 +212,6 @@ namespace ADOFAIRenderer.UI
.AddLimits("EncodingKeyframeInterval", new PositiveOnlyDoubleLimit(), new RangeDoubleLimit(0.01, 1000.0)); .AddLimits("EncodingKeyframeInterval", new PositiveOnlyDoubleLimit(), new RangeDoubleLimit(0.01, 1000.0));
encodingDoubleValidator.SetupValidation(); encodingDoubleValidator.SetupValidation();
// 가시성 필터링 업데이트 (행 단위로 보임/숨김 제어)
void UpdateVisibility(string selectedModeStr)
{
if (System.Enum.TryParse<RateControlMode>(selectedModeStr, out var mode))
{
bitrateRow.style.display = mode is RateControlMode.CBR or RateControlMode.VBR ? DisplayStyle.Flex : DisplayStyle.None;
maxBitrateRow.style.display = mode == RateControlMode.VBR ? DisplayStyle.Flex : DisplayStyle.None;
qpRow.style.display = mode == RateControlMode.CQP ? DisplayStyle.Flex : DisplayStyle.None;
warningRow.style.display = mode == RateControlMode.CQP && qpField.value == 0 ? DisplayStyle.Flex : DisplayStyle.None;
}
}
modeDropdown.RegisterValueChangedCallback(evt => UpdateVisibility(evt.newValue)); modeDropdown.RegisterValueChangedCallback(evt => UpdateVisibility(evt.newValue));
qpField.RegisterValueChangedCallback(evt => qpField.RegisterValueChangedCallback(evt =>
{ {
@@ -263,17 +220,6 @@ namespace ADOFAIRenderer.UI
UpdateVisibility(modeDropdown.value); UpdateVisibility(modeDropdown.value);
// 화면 전환 제어
void ToggleScreens(bool showEncoding)
{
foreach (var child in _root.Children())
{
if (child == _encodingConfigContainer) continue;
child.style.display = showEncoding ? DisplayStyle.None : DisplayStyle.Flex;
}
_encodingConfigContainer.style.display = showEncoding ? DisplayStyle.Flex : DisplayStyle.None;
}
// 8. 제어 버튼 로우 (취소 / 저장) // 8. 제어 버튼 로우 (취소 / 저장)
var buttonRow = CreateRow(); var buttonRow = CreateRow();
var cancelBtn = new Button { text = "취소" }; var cancelBtn = new Button { text = "취소" };
@@ -312,19 +258,71 @@ namespace ADOFAIRenderer.UI
ToggleScreens(false); ToggleScreens(false);
_root.Remove(_encodingConfigContainer); _root.Remove(_encodingConfigContainer);
_encodingConfigContainer = null!; _encodingConfigContainer = null!;
Melon<RenderMod>.Logger.Msg($"[UI] EncodingConfig 저장 완료");
}); });
_root.Add(_encodingConfigContainer); _root.Add(_encodingConfigContainer);
// 화면 전환 활성화 // 화면 전환 활성화
ToggleScreens(true); ToggleScreens(true);
return;
// 화면 전환 제어
void ToggleScreens(bool showEncoding)
{
foreach (var child in _root.Children())
{
if (child == _encodingConfigContainer) continue;
child.style.display = showEncoding ? DisplayStyle.None : DisplayStyle.Flex;
}
_encodingConfigContainer.style.display = showEncoding ? DisplayStyle.Flex : DisplayStyle.None;
}
// 가시성 필터링 업데이트 (행 단위로 보임/숨김 제어)
void UpdateVisibility(string selectedModeStr)
{
if (!System.Enum.TryParse<RateControlMode>(selectedModeStr, out var mode)) return;
bitrateRow.style.display = mode is RateControlMode.CBR or RateControlMode.VBR ? DisplayStyle.Flex : DisplayStyle.None;
maxBitrateRow.style.display = mode == RateControlMode.VBR ? DisplayStyle.Flex : DisplayStyle.None;
qpRow.style.display = mode == RateControlMode.CQP ? DisplayStyle.Flex : DisplayStyle.None;
warningRow.style.display = mode == RateControlMode.CQP && qpField.value == 0 ? DisplayStyle.Flex : DisplayStyle.None;
}
// 로우 생성 헬퍼 (UXML의 ui-row 속성 복제)
VisualElement CreateRow()
{
var row = new VisualElement
{
style =
{
flexDirection = FlexDirection.Row,
height = 130,
maxHeight = 130,
minHeight = 80,
justifyContent = Justify.Center,
alignItems = Align.Center
}
};
row.AddToClassList("ui-row");
return row;
}
// 라벨 생성 헬퍼 (우측 정렬 적용하여 인풋과의 인접성 향상)
Label CreateFormLabel(string text)
{
var label = new Label(text)
{
style =
{
unityTextAlign = TextAnchor.MiddleRight,
color = new StyleColor(Color.white)
}
};
return label;
}
} }
private void TryGoRender() private void TryGoRender()
{ {
Melon<RenderMod>.Logger.Msg("[UI] TryGoRender 호출됨");
var widthField = _root.Q<IntegerField>("RenderWidth"); var widthField = _root.Q<IntegerField>("RenderWidth");
var heightField = _root.Q<IntegerField>("RenderHeight"); var heightField = _root.Q<IntegerField>("RenderHeight");
var randomSeedField = _root.Q<IntegerField>("RandomSeed"); var randomSeedField = _root.Q<IntegerField>("RandomSeed");
+5 -2
View File
@@ -35,7 +35,10 @@
<SkipMethod type="ADOFAIRenderer.Util.*" rx="^(?:Awake|Start|Update|LateUpdate|OnDestroy)$" /> <SkipMethod type="ADOFAIRenderer.Util.*" rx="^(?:Awake|Start|Update|LateUpdate|OnDestroy)$" />
<!-- Skip Enums bound to UI dropdowns --> <!-- Skip Enums bound to UI dropdowns -->
<SkipType name="ADOFAIRenderer.Util.FFmpeg.Codec" /> <SkipType name="ADOFAIRenderer.Util.FFmpeg.Codec" skipFields="true" />
<SkipType name="ADOFAIRenderer.Util.FFmpeg.RateControlMode" /> <SkipType name="ADOFAIRenderer.Util.FFmpeg.RateControlMode" skipFields="true" />
<!-- Skip UI-associated types (MonoBehaviours loaded from scene/prefabs or bound to UI Toolkit dataSource) -->
<SkipType name="ADOFAIRenderer.UI.RenderConfigUIManager" skipFields="true" />
</Module> </Module>
</Obfuscator> </Obfuscator>