diff --git a/osu-framework b/osu-framework
index ed33cc4899..4631a91f00 160000
--- a/osu-framework
+++ b/osu-framework
@@ -1 +1 @@
-Subproject commit ed33cc48996e9b57093c4d057aa0560319495dee
+Subproject commit 4631a91f00e8be3eddf13736b5ecd8d25d6d3918
diff --git a/osu.Game.Tests/osu.Game.Tests.csproj b/osu.Game.Tests/osu.Game.Tests.csproj
index af6fa91661..d4a1976f17 100644
--- a/osu.Game.Tests/osu.Game.Tests.csproj
+++ b/osu.Game.Tests/osu.Game.Tests.csproj
@@ -75,7 +75,9 @@
osu.Game.Resources
-
+
+
+
@@ -86,4 +88,4 @@
-
+
\ No newline at end of file
diff --git a/osu.Game/Beatmaps/Objects/DrawableHitObject.cs b/osu.Game/Beatmaps/Objects/DrawableHitObject.cs
index 126f66be19..380e527de4 100644
--- a/osu.Game/Beatmaps/Objects/DrawableHitObject.cs
+++ b/osu.Game/Beatmaps/Objects/DrawableHitObject.cs
@@ -52,7 +52,7 @@ namespace osu.Game.Beatmaps.Objects
if (AllowHit?.Invoke(this) == false)
return false;
- HitTime = Time;
+ HitTime = Time.Current;
State = ArmedState.Armed;
return true;
@@ -70,7 +70,7 @@ namespace osu.Game.Beatmaps.Objects
{
base.Update();
- if (Time >= HitObject.EndTime && !counted)
+ if (Time.Current >= HitObject.EndTime && !counted)
{
counted = true;
if (state == ArmedState.Armed)
diff --git a/osu.Game/Beatmaps/Objects/Osu/Drawable/DrawableCircle.cs b/osu.Game/Beatmaps/Objects/Osu/Drawable/DrawableCircle.cs
index 26d7375852..cf150e7e04 100644
--- a/osu.Game/Beatmaps/Objects/Osu/Drawable/DrawableCircle.cs
+++ b/osu.Game/Beatmaps/Objects/Osu/Drawable/DrawableCircle.cs
@@ -96,7 +96,7 @@ namespace osu.Game.Beatmaps.Objects.Osu.Drawable
approachCircle.Transforms.Add(new TransformScale { StartTime = t - 1000, EndTime = t, StartValue = new Vector2(2f), EndValue = new Vector2(0.6f) });
//set transform delay to t==hitTime
- Delay(t - Time, true);
+ Delay(t - Time.Current, true);
approachCircle.FadeOut();
glow.FadeOut(400);
@@ -331,7 +331,7 @@ namespace osu.Game.Beatmaps.Objects.Osu.Drawable
base.Update();
foreach (Framework.Graphics.Drawable d in Children)
- d.Position -= new Vector2(0, (float)(d.Scale.X * (Clock.ElapsedFrameTime / 2880)));
+ d.Position -= new Vector2(0, (float)(d.Scale.X * (Time.Elapsed / 2880)));
}
}
}
diff --git a/osu.Game/GameModes/Menu/Button.cs b/osu.Game/GameModes/Menu/Button.cs
index 779501a448..012c000f9c 100644
--- a/osu.Game/GameModes/Menu/Button.cs
+++ b/osu.Game/GameModes/Menu/Button.cs
@@ -112,7 +112,7 @@ namespace osu.Game.GameModes.Menu
icon.ScaleTo(1, 500, EasingTypes.OutElasticHalf);
double offset = 0; //(1 - Game.Audio.SyncBeatProgress) * duration;
- double startTime = Time + offset;
+ double startTime = Time.Current + offset;
icon.RotateTo(10, offset, EasingTypes.InOutSine);
icon.ScaleTo(new Vector2(1, 0.9f), offset, EasingTypes.Out);
diff --git a/osu.Game/GameModes/Play/ComboCounter.cs b/osu.Game/GameModes/Play/ComboCounter.cs
index 8d5f55f775..ec0d1b45d5 100644
--- a/osu.Game/GameModes/Play/ComboCounter.cs
+++ b/osu.Game/GameModes/Play/ComboCounter.cs
@@ -205,8 +205,13 @@ namespace osu.Game.GameModes.Play
private void updateCount(ulong value, bool rolling = false)
{
- ulong prevCount = count;
count = value;
+
+ if (!IsLoaded)
+ return;
+
+ ulong prevCount = count;
+
if (!rolling)
{
Flush(false, typeof(TransformComboRoll));
@@ -229,17 +234,14 @@ namespace osu.Game.GameModes.Play
{
Flush(false, typeof(TransformComboRoll));
- if (Clock == null)
- return;
-
if (RollingDuration < 1)
{
DisplayedCount = Count;
return;
}
- transform.StartTime = Time;
- transform.EndTime = Time + getProportionalDuration(currentValue, newValue);
+ transform.StartTime = Time.Current;
+ transform.EndTime = Time.Current + getProportionalDuration(currentValue, newValue);
transform.StartValue = currentValue;
transform.EndValue = newValue;
transform.Easing = RollingEasing;
@@ -253,7 +255,7 @@ namespace osu.Game.GameModes.Play
{
get
{
- double time = CurrentTime ?? 0;
+ double time = Time?.Current ?? 0;
if (time < StartTime) return StartValue;
if (time >= EndTime) return EndValue;
diff --git a/osu.Game/GameModes/Play/ComboResultCounter.cs b/osu.Game/GameModes/Play/ComboResultCounter.cs
index fd96906d18..9607c6df14 100644
--- a/osu.Game/GameModes/Play/ComboResultCounter.cs
+++ b/osu.Game/GameModes/Play/ComboResultCounter.cs
@@ -45,7 +45,7 @@ namespace osu.Game.GameModes.Play
{
get
{
- double time = CurrentTime ?? 0;
+ double time = Time?.Current ?? 0;
if (time < StartTime) return StartValue;
if (time >= EndTime) return EndValue;
diff --git a/osu.Game/GameModes/Play/Mania/ManiaComboCounter.cs b/osu.Game/GameModes/Play/Mania/ManiaComboCounter.cs
index 8d1c6d5b57..0a087225fc 100644
--- a/osu.Game/GameModes/Play/Mania/ManiaComboCounter.cs
+++ b/osu.Game/GameModes/Play/Mania/ManiaComboCounter.cs
@@ -31,9 +31,9 @@ namespace osu.Game.GameModes.Play.Mania
protected override float PopOutInitialAlpha => 1.0f;
protected override double PopOutDuration => 300;
- protected override void Load(BaseGame game)
+ protected override void LoadComplete()
{
- base.Load(game);
+ base.LoadComplete();
PopOutSpriteText.Anchor = Anchor.BottomCentre;
PopOutSpriteText.Origin = Anchor.Centre;
diff --git a/osu.Game/Graphics/UserInterface/RollingCounter.cs b/osu.Game/Graphics/UserInterface/RollingCounter.cs
index 80f1b345b6..87403c232a 100644
--- a/osu.Game/Graphics/UserInterface/RollingCounter.cs
+++ b/osu.Game/Graphics/UserInterface/RollingCounter.cs
@@ -123,8 +123,6 @@ namespace osu.Game.Graphics.UserInterface
{
base.Load(game);
- Flush(false, TransformType);
-
DisplayedCount = Count;
DisplayedCountSpriteText.Text = FormatCount(count);
@@ -132,6 +130,13 @@ namespace osu.Game.Graphics.UserInterface
DisplayedCountSpriteText.Origin = this.Origin;
}
+ protected override void LoadComplete()
+ {
+ base.LoadComplete();
+
+ Flush(false, TransformType);
+ }
+
///
/// Sets count value, bypassing rollover animation.
///
@@ -211,9 +216,6 @@ namespace osu.Game.Graphics.UserInterface
Flush(false, type);
- if (Clock == null)
- return;
-
if (RollingDuration < 1)
{
DisplayedCount = Count;
@@ -225,8 +227,8 @@ namespace osu.Game.Graphics.UserInterface
? GetProportionalDuration(currentValue, newValue)
: RollingDuration;
- transform.StartTime = Time;
- transform.EndTime = Time + rollingTotalDuration;
+ transform.StartTime = Time.Current;
+ transform.EndTime = Time.Current + rollingTotalDuration;
transform.StartValue = currentValue;
transform.EndValue = newValue;
transform.Easing = RollingEasing;
diff --git a/osu.Game/Graphics/UserInterface/ScoreCounter.cs b/osu.Game/Graphics/UserInterface/ScoreCounter.cs
index 48f4da1fcf..56be64b92e 100644
--- a/osu.Game/Graphics/UserInterface/ScoreCounter.cs
+++ b/osu.Game/Graphics/UserInterface/ScoreCounter.cs
@@ -60,7 +60,7 @@ namespace osu.Game.Graphics.UserInterface
{
get
{
- double time = CurrentTime ?? 0;
+ double time = Time?.Current ?? 0;
if (time < StartTime) return StartValue;
if (time >= EndTime) return EndValue;
diff --git a/osu.Game/Graphics/UserInterface/StarCounter.cs b/osu.Game/Graphics/UserInterface/StarCounter.cs
index cff8fc65fe..47385861ab 100644
--- a/osu.Game/Graphics/UserInterface/StarCounter.cs
+++ b/osu.Game/Graphics/UserInterface/StarCounter.cs
@@ -50,7 +50,7 @@ namespace osu.Game.Graphics.UserInterface
{
get
{
- double elapsedTime = Time - transformStartTime;
+ double elapsedTime = Time.Current - transformStartTime;
double expectedElapsedTime = Math.Abs(prevCount - count) * animationDelay;
if (elapsedTime >= expectedElapsedTime)
return count;
@@ -70,14 +70,16 @@ namespace osu.Game.Graphics.UserInterface
{
return count;
}
+
set
{
- prevCount = VisibleValue;
- count = value;
if (IsLoaded)
{
- transformCount(prevCount, count);
+ prevCount = VisibleValue;
+ transformCount(prevCount, value);
}
+
+ count = value;
}
}
@@ -149,7 +151,7 @@ namespace osu.Game.Graphics.UserInterface
public void StopAnimation()
{
prevCount = count;
- transformStartTime = Time;
+ transformStartTime = Time.Current;
for (int i = 0; i < MaxStars; i++)
transformStarQuick(i, count);
@@ -188,7 +190,7 @@ namespace osu.Game.Graphics.UserInterface
transformStar(i, newValue);
stars[i].DelayReset();
}
- transformStartTime = Time;
+ transformStartTime = Time.Current;
}
}
}
diff --git a/osu.Game/Graphics/UserInterface/Volume/VolumeControl.cs b/osu.Game/Graphics/UserInterface/Volume/VolumeControl.cs
index 4d86483262..0acd330b0e 100644
--- a/osu.Game/Graphics/UserInterface/Volume/VolumeControl.cs
+++ b/osu.Game/Graphics/UserInterface/Volume/VolumeControl.cs
@@ -67,21 +67,12 @@ namespace osu.Game.Graphics.UserInterface.Volume
base.Dispose(isDisposing);
}
- protected override bool OnWheelDown(InputState state)
+ protected override bool OnWheel(InputState state)
{
if (!IsVisible)
return false;
- volumeMeterMaster.TriggerWheelDown(state);
- return true;
- }
-
- protected override bool OnWheelUp(InputState state)
- {
- if (!IsVisible)
- return false;
-
- volumeMeterMaster.TriggerWheelUp(state);
+ volumeMeterMaster.TriggerWheel(state);
return true;
}
diff --git a/osu.Game/Graphics/UserInterface/Volume/VolumeControlReceptor.cs b/osu.Game/Graphics/UserInterface/Volume/VolumeControlReceptor.cs
index 1601c2a883..1c98aaa61d 100644
--- a/osu.Game/Graphics/UserInterface/Volume/VolumeControlReceptor.cs
+++ b/osu.Game/Graphics/UserInterface/Volume/VolumeControlReceptor.cs
@@ -14,13 +14,7 @@ namespace osu.Game.Graphics.UserInterface.Volume
{
public Action ActivateRequested;
- protected override bool OnWheelDown(InputState state)
- {
- ActivateRequested?.Invoke();
- return true;
- }
-
- protected override bool OnWheelUp(InputState state)
+ protected override bool OnWheel(InputState state)
{
ActivateRequested?.Invoke();
return true;
diff --git a/osu.Game/Graphics/UserInterface/Volume/VolumeMeter.cs b/osu.Game/Graphics/UserInterface/Volume/VolumeMeter.cs
index 64cb59175c..bcd1d9f8db 100644
--- a/osu.Game/Graphics/UserInterface/Volume/VolumeMeter.cs
+++ b/osu.Game/Graphics/UserInterface/Volume/VolumeMeter.cs
@@ -57,9 +57,9 @@ namespace osu.Game.Graphics.UserInterface.Volume
};
}
- protected override void Load(BaseGame game)
+ protected override void LoadComplete()
{
- base.Load(game);
+ base.LoadComplete();
updateFill();
}
@@ -73,15 +73,9 @@ namespace osu.Game.Graphics.UserInterface.Volume
}
}
- protected override bool OnWheelUp(InputState state)
+ protected override bool OnWheel(InputState state)
{
- Volume += 0.05f;
- return true;
- }
-
- protected override bool OnWheelDown(InputState state)
- {
- Volume -= 0.05f;
+ Volume += 0.05f * state.Mouse.WheelDiff;
return true;
}
diff --git a/osu.Game/Overlays/OptionsOverlay.cs b/osu.Game/Overlays/OptionsOverlay.cs
index cdf7628953..3774b71254 100644
--- a/osu.Game/Overlays/OptionsOverlay.cs
+++ b/osu.Game/Overlays/OptionsOverlay.cs
@@ -101,11 +101,13 @@ namespace osu.Game.Overlays
protected override void PopIn()
{
MoveToX(0, 300, EasingTypes.Out);
+ FadeTo(1, 300);
}
protected override void PopOut()
{
MoveToX(-width, 300, EasingTypes.Out);
+ FadeTo(0, 300);
}
}
}