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

Comment, make code more readable, functions are now private

This commit is contained in:
Fabian van Oeffelt 2024-05-02 19:05:43 +02:00
parent 5c21a0330a
commit 7527ddbc68

View File

@ -755,93 +755,80 @@ namespace osu.Game.Screens.Select
return false;
}
public void IncreaseSpeed()
private void increaseSpeed()
{
// find way of grabbing all types of ModSpeedAdjust
var rateAdjustStates = ModSelect.AllAvailableMods.Where(pair => pair.Mod.Acronym == "DT" || pair.Mod.Acronym == "NC" || pair.Mod.Acronym == "HT" || pair.Mod.Acronym == "DC");
var stateDoubleTime = ModSelect.AllAvailableMods.First(pair => pair.Mod.Acronym == "DT");
bool oneActive = false;
double newRate = 1.05d;
foreach (var state in rateAdjustStates)
{
ModRateAdjust mod = (ModRateAdjust)state.Mod;
if (state.Active.Value)
{
oneActive = true;
newRate = mod.SpeedChange.Value + 0.05d;
if (mod.Acronym == "DT" || mod.Acronym == "NC")
{
mod.SpeedChange.Value = newRate;
return;
}
else
{
if (newRate == 1.0d)
{
state.Active.Value = false;
}
if (newRate > 1d)
{
state.Active.Value = false;
stateDoubleTime.Active.Value = true;
((ModDoubleTime)stateDoubleTime.Mod).SpeedChange.Value = newRate;
return;
}
if (newRate < 1d)
{
mod.SpeedChange.Value = newRate;
}
}
}
}
if (!oneActive)
var rateAdjustStates = ModSelect.AllAvailableMods.Where(pair => pair.Mod is ModRateAdjust);
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;
double stepSize = 0.05d;
double newRate = 1d + stepSize;
// If no mod rateAdjust mod is currently active activate DoubleTime with speed newRate
if (!rateModActive)
{
stateDoubleTime.Active.Value = true;
((ModDoubleTime)stateDoubleTime.Mod).SpeedChange.Value = newRate;
return;
}
}
public void DecreaseSpeed()
{
var rateAdjustStates = ModSelect.AllAvailableMods.Where(pair => pair.Mod.Acronym == "DT" || pair.Mod.Acronym == "NC" || pair.Mod.Acronym == "HT" || pair.Mod.Acronym == "DC");
var stateHalfTime = ModSelect.AllAvailableMods.First(pair => pair.Mod.Acronym == "HT");
bool oneActive = false;
double newRate = 0.95d;
// Find current active rateAdjust mod and modify speed, enable DoubleTime if necessary
foreach (var state in rateAdjustStates)
{
ModRateAdjust mod = (ModRateAdjust)state.Mod;
if (state.Active.Value)
if (!state.Active.Value) continue;
newRate = mod.SpeedChange.Value + stepSize;
if (mod.Acronym == "DT" || mod.Acronym == "NC")
mod.SpeedChange.Value = newRate;
else
{
oneActive = true;
newRate = mod.SpeedChange.Value - 0.05d;
if (mod.Acronym == "HT" || mod.Acronym == "DC")
if (newRate == 1.0d)
state.Active.Value = false;
if (newRate > 1d)
{
state.Active.Value = false;
stateDoubleTime.Active.Value = true;
((ModDoubleTime)stateDoubleTime.Mod).SpeedChange.Value = newRate;
break;
}
if (newRate < 1d)
mod.SpeedChange.Value = newRate;
return;
}
else
{
if (newRate == 1.0d)
{
state.Active.Value = false;
}
if (newRate < 1d)
{
state.Active.Value = false;
stateHalfTime.Active.Value = true;
((ModHalfTime)stateHalfTime.Mod).SpeedChange.Value = newRate;
return;
}
if (newRate > 1d)
{
mod.SpeedChange.Value = newRate;
}
}
}
}
if (!oneActive)
}
private void decreaseSpeed()
{
var rateAdjustStates = ModSelect.AllAvailableMods.Where(pair => pair.Mod is ModRateAdjust);
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;
double stepSize = 0.05d;
double newRate = 1d - stepSize;
// If no mod rateAdjust mod is currently active activate HalfTime with speed newRate
if (!rateModActive)
{
stateHalfTime.Active.Value = true;
((ModHalfTime)stateHalfTime.Mod).SpeedChange.Value = newRate;
return;
}
// Find current active rateAdjust mod and modify speed, enable HalfTime if necessary
foreach (var state in rateAdjustStates)
{
ModRateAdjust mod = (ModRateAdjust)state.Mod;
if (!state.Active.Value) continue;
newRate = mod.SpeedChange.Value - stepSize;
if (mod.Acronym == "HT" || mod.Acronym == "DC")
mod.SpeedChange.Value = newRate;
else
{
if (newRate == 1.0d)
state.Active.Value = false;
if (newRate < 1d)
{
state.Active.Value = false;
stateHalfTime.Active.Value = true;
((ModHalfTime)stateHalfTime.Mod).SpeedChange.Value = newRate;
break;
}
if (newRate > 1d)
mod.SpeedChange.Value = newRate;
}
}
}
protected override void Dispose(bool isDisposing)
@ -1049,10 +1036,10 @@ namespace osu.Game.Screens.Select
FinaliseSelection();
return true;
case GlobalAction.IncreaseSpeed:
IncreaseSpeed();
increaseSpeed();
return true;
case GlobalAction.DecreaseSpeed:
DecreaseSpeed();
decreaseSpeed();
return true;
}