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()
{
Melon<RenderMod>.Logger.Msg("[UI] Start 진입");
// Init Validators
_intValidator
.AddLimits("RenderWidth", new PositiveOnlyIntegerLimit(), new RangeIntegerLimit(1, 7680))
@@ -46,29 +44,15 @@ namespace ADOFAIRenderer.UI
_intValidator.SetupValidation();
_doubleValidator.SetupValidation();
Melon<RenderMod>.Logger.Msg("[UI] Validator 설정 완료");
// Init Enum Binders & Event Listeners
_codecBinder = new EnumDropdownBinder<Codec>(_root, "CodecDropdown", Codec.H264);
Melon<RenderMod>.Logger.Msg("[UI] CodecBinder 생성 완료");
_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
_goRenderButton = _root.Q<Button>("GoRenderButton");
if (_goRenderButton != null)
{
Melon<RenderMod>.Logger.Msg($"[UI] GoRenderButton 발견: pickingMode={_goRenderButton.pickingMode}, enabledSelf={_goRenderButton.enabledSelf}");
_goRenderButton.RegisterCallback<ClickEvent>(_ => TryGoRender());
}
else
{
Melon<RenderMod>.Logger.Error("Button 'GoRenderButton'을(를) 찾을 수 없습니다.");
}
_goRenderButton?.RegisterCallback<ClickEvent>(_ => TryGoRender());
_encodingConfigButton = _root.Q<Button>("EncodingSettingsButton");
if (_encodingConfigButton != null)
{
@@ -91,8 +75,6 @@ namespace ADOFAIRenderer.UI
private void OpenEncodingConfig()
{
Melon<RenderMod>.Logger.Msg("[UI] OpenEncodingConfig 호출됨");
var config = RenderManager.Instance.Configuration;
config.EncodingConfig ??= GenerateEncodingConfig();
@@ -122,38 +104,20 @@ namespace ADOFAIRenderer.UI
_encodingConfigContainer.style.justifyContent = Justify.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. 타이틀 로우
var titleRow = CreateRow();
var title = new Label("인코딩 설정");
title.style.fontSize = 36;
title.style.unityFontStyleAndWeight = FontStyle.Bold;
title.style.color = new StyleColor(Color.white);
title.style.unityTextAlign = TextAnchor.MiddleCenter;
title.style.width = 770; // 360 * 2 + 50 (여백)에 맞춤
title.style.height = StyleKeyword.Auto;
var title = new Label("인코딩 설정")
{
style =
{
fontSize = 36,
unityFontStyleAndWeight = FontStyle.Bold,
color = new StyleColor(Color.white),
unityTextAlign = TextAnchor.MiddleCenter,
width = 770, // 360 * 2 + 50 (여백)에 맞춤
height = StyleKeyword.Auto
}
};
titleRow.Add(title);
_encodingConfigContainer.Add(titleRow);
@@ -217,16 +181,21 @@ namespace ADOFAIRenderer.UI
warningRow.style.maxHeight = StyleKeyword.Null;
warningRow.style.minHeight = StyleKeyword.Null;
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));
warningLabel.style.whiteSpace = WhiteSpace.Normal;
warningLabel.style.width = 720; // 360px에서 720px로 오버라이드
warningLabel.style.height = StyleKeyword.Auto;
warningLabel.style.unityTextAlign = TextAnchor.MiddleCenter;
warningLabel.style.marginTop = 10;
warningLabel.style.marginBottom = 10;
var warningLabel = new Label("※ QP 0 (무손실)은 일부 하드웨어/코덱에서 지원되지 않을 수 있으며, 인코딩 실패 시 CPU 모드로 폴백됩니다.")
{
style =
{
fontSize = 20, // 30px에서 20px로 오버라이드
color = new StyleColor(new Color(0.9f, 0.6f, 0.2f)),
whiteSpace = WhiteSpace.Normal,
width = 720, // 360px에서 720px로 오버라이드
height = StyleKeyword.Auto,
unityTextAlign = TextAnchor.MiddleCenter,
marginTop = 10,
marginBottom = 10
}
};
warningRow.Add(warningLabel);
_encodingConfigContainer.Add(warningRow);
@@ -243,18 +212,6 @@ namespace ADOFAIRenderer.UI
.AddLimits("EncodingKeyframeInterval", new PositiveOnlyDoubleLimit(), new RangeDoubleLimit(0.01, 1000.0));
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));
qpField.RegisterValueChangedCallback(evt =>
{
@@ -263,17 +220,6 @@ namespace ADOFAIRenderer.UI
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. 제어 버튼 로우 (취소 / 저장)
var buttonRow = CreateRow();
var cancelBtn = new Button { text = "취소" };
@@ -312,19 +258,71 @@ namespace ADOFAIRenderer.UI
ToggleScreens(false);
_root.Remove(_encodingConfigContainer);
_encodingConfigContainer = null!;
Melon<RenderMod>.Logger.Msg($"[UI] EncodingConfig 저장 완료");
});
_root.Add(_encodingConfigContainer);
// 화면 전환 활성화
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()
{
Melon<RenderMod>.Logger.Msg("[UI] TryGoRender 호출됨");
var widthField = _root.Q<IntegerField>("RenderWidth");
var heightField = _root.Q<IntegerField>("RenderHeight");
var randomSeedField = _root.Q<IntegerField>("RandomSeed");
+5 -2
View File
@@ -35,7 +35,10 @@
<SkipMethod type="ADOFAIRenderer.Util.*" rx="^(?:Awake|Start|Update|LateUpdate|OnDestroy)$" />
<!-- Skip Enums bound to UI dropdowns -->
<SkipType name="ADOFAIRenderer.Util.FFmpeg.Codec" />
<SkipType name="ADOFAIRenderer.Util.FFmpeg.RateControlMode" />
<SkipType name="ADOFAIRenderer.Util.FFmpeg.Codec" skipFields="true" />
<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>
</Obfuscator>