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); } } }