1
0
mirror of https://github.com/ppy/osu.git synced 2025-02-15 21:33:22 +08:00

Fix Code Inspection

This commit is contained in:
Fabian van Oeffelt 2024-05-02 19:41:00 +02:00
parent 588badf292
commit 4b5ea6bd0b

View File

@ -808,13 +808,15 @@ namespace osu.Game.Screens.Select
return false; return false;
} }
private void increaseSpeed() private void increaseSpeed()
{ {
var rateAdjustStates = ModSelect.AllAvailableMods.Where(pair => pair.Mod is ModRateAdjust); var rateAdjustStates = ModSelect.AllAvailableMods.Where(pair => pair.Mod is ModRateAdjust);
var stateDoubleTime = ModSelect.AllAvailableMods.First(pair => pair.Mod is ModDoubleTime); var stateDoubleTime = ModSelect.AllAvailableMods.First(pair => pair.Mod is ModDoubleTime);
bool rateModActive = ModSelect.AllAvailableMods.Where(pair => pair.Mod is ModRateAdjust && pair.Active.Value).Count() > 0; bool rateModActive = ModSelect.AllAvailableMods.Count(pair => pair.Mod is ModRateAdjust && pair.Active.Value) > 0;
double stepSize = 0.05d; const double stepsize = 0.05d;
double newRate = 1d + stepSize; double newRate = 1d + stepsize;
// If no mod rateAdjust mod is currently active activate DoubleTime with speed newRate // If no mod rateAdjust mod is currently active activate DoubleTime with speed newRate
if (!rateModActive) if (!rateModActive)
{ {
@ -822,18 +824,23 @@ namespace osu.Game.Screens.Select
((ModDoubleTime)stateDoubleTime.Mod).SpeedChange.Value = newRate; ((ModDoubleTime)stateDoubleTime.Mod).SpeedChange.Value = newRate;
return; return;
} }
// Find current active rateAdjust mod and modify speed, enable DoubleTime if necessary // Find current active rateAdjust mod and modify speed, enable DoubleTime if necessary
foreach (var state in rateAdjustStates) foreach (var state in rateAdjustStates)
{ {
ModRateAdjust mod = (ModRateAdjust)state.Mod; ModRateAdjust mod = (ModRateAdjust)state.Mod;
if (!state.Active.Value) continue; if (!state.Active.Value) continue;
newRate = mod.SpeedChange.Value + stepSize;
newRate = mod.SpeedChange.Value + stepsize;
if (mod.Acronym == "DT" || mod.Acronym == "NC") if (mod.Acronym == "DT" || mod.Acronym == "NC")
mod.SpeedChange.Value = newRate; mod.SpeedChange.Value = newRate;
else else
{ {
if (newRate == 1.0d) if (newRate == 1.0d)
state.Active.Value = false; state.Active.Value = false;
if (newRate > 1d) if (newRate > 1d)
{ {
state.Active.Value = false; state.Active.Value = false;
@ -841,18 +848,21 @@ namespace osu.Game.Screens.Select
((ModDoubleTime)stateDoubleTime.Mod).SpeedChange.Value = newRate; ((ModDoubleTime)stateDoubleTime.Mod).SpeedChange.Value = newRate;
break; break;
} }
if (newRate < 1d) if (newRate < 1d)
mod.SpeedChange.Value = newRate; mod.SpeedChange.Value = newRate;
} }
} }
} }
private void decreaseSpeed() private void decreaseSpeed()
{ {
var rateAdjustStates = ModSelect.AllAvailableMods.Where(pair => pair.Mod is ModRateAdjust); var rateAdjustStates = ModSelect.AllAvailableMods.Where(pair => pair.Mod is ModRateAdjust);
var stateHalfTime = ModSelect.AllAvailableMods.First(pair => pair.Mod is ModHalfTime); var stateHalfTime = ModSelect.AllAvailableMods.First(pair => pair.Mod is ModHalfTime);
bool rateModActive = ModSelect.AllAvailableMods.Where(pair => pair.Mod is ModRateAdjust && pair.Active.Value).Count() > 0; bool rateModActive = ModSelect.AllAvailableMods.Count(pair => pair.Mod is ModRateAdjust && pair.Active.Value) > 0;
double stepSize = 0.05d; const double stepsize = 0.05d;
double newRate = 1d - stepSize; double newRate = 1d - stepsize;
// If no mod rateAdjust mod is currently active activate HalfTime with speed newRate // If no mod rateAdjust mod is currently active activate HalfTime with speed newRate
if (!rateModActive) if (!rateModActive)
{ {
@ -860,18 +870,23 @@ namespace osu.Game.Screens.Select
((ModHalfTime)stateHalfTime.Mod).SpeedChange.Value = newRate; ((ModHalfTime)stateHalfTime.Mod).SpeedChange.Value = newRate;
return; return;
} }
// Find current active rateAdjust mod and modify speed, enable HalfTime if necessary // Find current active rateAdjust mod and modify speed, enable HalfTime if necessary
foreach (var state in rateAdjustStates) foreach (var state in rateAdjustStates)
{ {
ModRateAdjust mod = (ModRateAdjust)state.Mod; ModRateAdjust mod = (ModRateAdjust)state.Mod;
if (!state.Active.Value) continue; if (!state.Active.Value) continue;
newRate = mod.SpeedChange.Value - stepSize;
newRate = mod.SpeedChange.Value - stepsize;
if (mod.Acronym == "HT" || mod.Acronym == "DC") if (mod.Acronym == "HT" || mod.Acronym == "DC")
mod.SpeedChange.Value = newRate; mod.SpeedChange.Value = newRate;
else else
{ {
if (newRate == 1.0d) if (newRate == 1.0d)
state.Active.Value = false; state.Active.Value = false;
if (newRate < 1d) if (newRate < 1d)
{ {
state.Active.Value = false; state.Active.Value = false;
@ -879,11 +894,13 @@ namespace osu.Game.Screens.Select
((ModHalfTime)stateHalfTime.Mod).SpeedChange.Value = newRate; ((ModHalfTime)stateHalfTime.Mod).SpeedChange.Value = newRate;
break; break;
} }
if (newRate > 1d) if (newRate > 1d)
mod.SpeedChange.Value = newRate; mod.SpeedChange.Value = newRate;
} }
} }
} }
protected override void Dispose(bool isDisposing) protected override void Dispose(bool isDisposing)
{ {
base.Dispose(isDisposing); base.Dispose(isDisposing);
@ -1086,14 +1103,17 @@ namespace osu.Game.Screens.Select
return false; return false;
if (!this.IsCurrentScreen()) return false; if (!this.IsCurrentScreen()) return false;
switch (e.Action) switch (e.Action)
{ {
case GlobalAction.Select: case GlobalAction.Select:
FinaliseSelection(); FinaliseSelection();
return true; return true;
case GlobalAction.IncreaseSpeed: case GlobalAction.IncreaseSpeed:
increaseSpeed(); increaseSpeed();
return true; return true;
case GlobalAction.DecreaseSpeed: case GlobalAction.DecreaseSpeed:
decreaseSpeed(); decreaseSpeed();
return true; return true;