poorHitResultCheckBox自动隐藏、显示

This commit is contained in:
LA
2026-02-24 18:03:33 +08:00
parent f390fc5c9c
commit 66f4bcc60d
2 changed files with 24 additions and 4 deletions

View File

@@ -47,9 +47,9 @@ namespace osu.Game.Rulesets.Mania.LAsEzMania.Localization
public static readonly LocalisableString POOR_HIT_RESULT = new EzLocalizationManager.EzLocalisableString("增加 Poor 判定类型", "Additional Poor HitResult");
public static readonly LocalisableString POOR_HIT_RESULT_TOOLTIP = new EzLocalizationManager.EzLocalisableString(
"Pool判定类型只用于严格扣血, 不影响Combo、Score\n"
"Pool判定类型只在BMS系血量系统下生效, 用于严格扣血, 不影响Combo、Score\n"
+ "一个note可触发多个Pool判定, 只有早于Miss时才会触发, 不存在晚Pool",
"The Poor HitResult type is only used for strict health reduction, and does not affect Combo or Score\n"
"The Poor HitResult type only takes effect under the BMS Health Mode, used for strict health deduction, does not affect Combo or Score\n"
+ "One note can trigger multiple Poor hit results, and it will only trigger if it is earlier than Miss, there is no late Poor");
public static readonly LocalisableString MANIA_BAR_LINES_BOOL = new EzLocalizationManager.EzLocalisableString("启用强制显示小节线", "Force Display Bar Lines");

View File

@@ -25,6 +25,9 @@ namespace osu.Game.Rulesets.Mania
protected Bindable<double> BaseSpeedBindable = null!;
protected Bindable<double> TimePerSpeedBindable = null!;
protected Bindable<double> SpeedBindable = null!;
protected Bindable<EzEnumHealthMode> CustomHealthModeBindable = null!;
private SettingsItemV2 poorHitResultCheckBox = null!;
public ManiaSettingsSubsection(ManiaRuleset ruleset)
: base(ruleset)
@@ -39,6 +42,7 @@ namespace osu.Game.Rulesets.Mania
BaseSpeedBindable = config.GetBindable<double>(ManiaRulesetSetting.ScrollBaseSpeed);
TimePerSpeedBindable = config.GetBindable<double>(ManiaRulesetSetting.ScrollTimePerSpeed);
SpeedBindable = config.GetBindable<double>(ManiaRulesetSetting.ScrollSpeed);
CustomHealthModeBindable = ezConfig.GetBindable<EzEnumHealthMode>(Ez2Setting.CustomHealthMode);
Children = new Drawable[]
{
@@ -55,12 +59,12 @@ namespace osu.Game.Rulesets.Mania
{
Caption = EzManiaSettingsStrings.HEALTH_MODE,
HintText = EzManiaSettingsStrings.HEALTH_MODE_TOOLTIP,
Current = ezConfig.GetBindable<EzEnumHealthMode>(Ez2Setting.CustomHealthMode),
Current = CustomHealthModeBindable,
})
{
Keywords = new[] { "mania" }
},
new SettingsItemV2(new FormCheckBox
poorHitResultCheckBox = new SettingsItemV2(new FormCheckBox
{
Caption = EzManiaSettingsStrings.POOR_HIT_RESULT,
HintText = EzManiaSettingsStrings.POOR_HIT_RESULT_TOOLTIP,
@@ -168,6 +172,22 @@ namespace osu.Game.Rulesets.Mania
#pragma warning restore CS0618 // Type or member is obsolete
}));
}
CustomHealthModeBindable.BindValueChanged(e =>
{
switch (e.NewValue)
{
case EzEnumHealthMode.IIDX_HD:
case EzEnumHealthMode.LR2_HD:
case EzEnumHealthMode.Raja_NM:
poorHitResultCheckBox.Show();
break;
default:
poorHitResultCheckBox.Hide();
break;
}
}, true);
}
}
}