From bd56baaaed13b708dd5557b7cec253556912e34e Mon Sep 17 00:00:00 2001 From: Flutterish Date: Mon, 26 Sep 2022 18:46:27 +0200 Subject: [PATCH] update osu version --- Hitokori/HitokoriRuleset.cs | 25 ++++--------------- Hitokori/Mods/HitokoriModAuto.cs | 3 ++- Hitokori/Mods/HitokoriModDaycore.cs | 5 ++-- Hitokori/Mods/HitokoriModDoubleTime.cs | 5 ++-- Hitokori/Mods/HitokoriModEasy.cs | 5 ++-- Hitokori/Mods/HitokoriModFlashlight.cs | 3 ++- Hitokori/Mods/HitokoriModHalfTime.cs | 5 ++-- Hitokori/Mods/HitokoriModHardRock.cs | 3 ++- Hitokori/Mods/HitokoriModHidden.cs | 3 ++- Hitokori/Mods/HitokoriModHoldTiles.cs | 3 ++- Hitokori/Mods/HitokoriModNightcore.cs | 5 ++-- Hitokori/Mods/HitokoriModNoFail.cs | 5 ++-- Hitokori/Mods/HitokoriModPerfect.cs | 5 ++-- Hitokori/Mods/HitokoriModReverseSpin.cs | 3 ++- Hitokori/Mods/HitokoriModSpinTiles.cs | 3 ++- Hitokori/Mods/HitokoriModSuddenDeath.cs | 5 ++-- Hitokori/Mods/HitokoriModTriplets.cs | 3 ++- Hitokori/Mods/HitokoriModUntangle.cs | 3 ++- .../Objects/Drawables/Hitokori/StarSparkle.cs | 2 +- Hitokori/Objects/Drawables/TileMarker.cs | 2 +- .../Drawables/Tiles/DrawableHoldTile.cs | 4 +-- .../Drawables/Tiles/DrawableSpinTile.cs | 2 +- .../Drawables/Tiles/DrawableTapTile.cs | 2 +- .../Drawables/Trails/PathTileConnector.cs | 2 +- Hitokori/UI/HitokoriIcon.cs | 6 ----- Hitokori/osu.Game.Rulesets.Hitokori.csproj | 2 +- 26 files changed, 55 insertions(+), 59 deletions(-) diff --git a/Hitokori/HitokoriRuleset.cs b/Hitokori/HitokoriRuleset.cs index 52d057c..9115f26 100644 --- a/Hitokori/HitokoriRuleset.cs +++ b/Hitokori/HitokoriRuleset.cs @@ -126,13 +126,13 @@ public override IEnumerable GetDefaultKeyBindings ( int variant = 0 }; } - public override string GetDisplayNameForHitResult ( HitResult result ) { + public override LocalisableString GetDisplayNameForHitResult ( HitResult result ) { return result switch { - HitResult.Miss => GetLocalisedHack( Localisation.JudgementStrings.Miss ), - HitResult.Great => GetLocalisedHack( Localisation.JudgementStrings.Late ), - HitResult.Ok => GetLocalisedHack( Localisation.JudgementStrings.Early ), - _ => GetLocalisedHack( Localisation.JudgementStrings.Perfect ) + HitResult.Miss => Localisation.JudgementStrings.Miss, + HitResult.Great => Localisation.JudgementStrings.Late, + HitResult.Ok => Localisation.JudgementStrings.Early, + _ => Localisation.JudgementStrings.Perfect }; } @@ -144,20 +144,5 @@ protected override IEnumerable GetValidHitResults () { HitResult.Perfect }; } - - static Dictionary localisationHack = new(); - public static Func LocalisationHackFactory; - public static string GetLocalisedHack ( LocalisableString str ) { - if ( !localisationHack.TryGetValue( str, out var bindable ) ) { - if ( LocalisationHackFactory is null ) { - return str.ToString(); - } - else { - localisationHack.Add( str, bindable = LocalisationHackFactory( str ) ); - } - } - - return bindable.Value; - } } } diff --git a/Hitokori/Mods/HitokoriModAuto.cs b/Hitokori/Mods/HitokoriModAuto.cs index 2bf43f9..9fb63d8 100644 --- a/Hitokori/Mods/HitokoriModAuto.cs +++ b/Hitokori/Mods/HitokoriModAuto.cs @@ -1,4 +1,5 @@ using osu.Framework.Graphics.Sprites; +using osu.Framework.Localisation; using osu.Game.Beatmaps; using osu.Game.Graphics; using osu.Game.Rulesets.Hitokori.Beatmaps; @@ -11,7 +12,7 @@ namespace osu.Game.Rulesets.Hitokori.Mods { public class HitokoriModAuto : ModAutoplay { public override string Name => "Auto"; public override string Acronym => "AT"; - public override string Description => HitokoriRuleset.GetLocalisedHack( Localisation.ModStrings.AutoplayDescription ); + public override LocalisableString Description => Localisation.ModStrings.AutoplayDescription; public override bool UserPlayable => false; diff --git a/Hitokori/Mods/HitokoriModDaycore.cs b/Hitokori/Mods/HitokoriModDaycore.cs index 9b3ab07..7590d42 100644 --- a/Hitokori/Mods/HitokoriModDaycore.cs +++ b/Hitokori/Mods/HitokoriModDaycore.cs @@ -1,8 +1,9 @@ -using osu.Game.Rulesets.Mods; +using osu.Framework.Localisation; +using osu.Game.Rulesets.Mods; namespace osu.Game.Rulesets.Hitokori.Mods { public class HitokoriModDaycore : ModDaycore { - public override string Description => HitokoriRuleset.GetLocalisedHack( Localisation.ModStrings.DaycoreDescription ); + public override LocalisableString Description => Localisation.ModStrings.DaycoreDescription; public override double ScoreMultiplier => 0.3; } diff --git a/Hitokori/Mods/HitokoriModDoubleTime.cs b/Hitokori/Mods/HitokoriModDoubleTime.cs index f108a5f..4e43d2c 100644 --- a/Hitokori/Mods/HitokoriModDoubleTime.cs +++ b/Hitokori/Mods/HitokoriModDoubleTime.cs @@ -1,8 +1,9 @@ -using osu.Game.Rulesets.Mods; +using osu.Framework.Localisation; +using osu.Game.Rulesets.Mods; namespace osu.Game.Rulesets.Hitokori.Mods { public class HitokoriModDoubleTime : ModDoubleTime { public override double ScoreMultiplier => 1.12; - public override string Description => HitokoriRuleset.GetLocalisedHack( Localisation.ModStrings.DoubleTimeDescription ); + public override LocalisableString Description => Localisation.ModStrings.DoubleTimeDescription; } } diff --git a/Hitokori/Mods/HitokoriModEasy.cs b/Hitokori/Mods/HitokoriModEasy.cs index 95022af..ad9ccee 100644 --- a/Hitokori/Mods/HitokoriModEasy.cs +++ b/Hitokori/Mods/HitokoriModEasy.cs @@ -1,7 +1,8 @@ -using osu.Game.Rulesets.Mods; +using osu.Framework.Localisation; +using osu.Game.Rulesets.Mods; namespace osu.Game.Rulesets.Hitokori.Mods { public class HitokoriModEasy : ModEasy { - public override string Description => HitokoriRuleset.GetLocalisedHack( Localisation.ModStrings.EasyDescription ); + public override LocalisableString Description => Localisation.ModStrings.EasyDescription; } } diff --git a/Hitokori/Mods/HitokoriModFlashlight.cs b/Hitokori/Mods/HitokoriModFlashlight.cs index cc128d1..10be456 100644 --- a/Hitokori/Mods/HitokoriModFlashlight.cs +++ b/Hitokori/Mods/HitokoriModFlashlight.cs @@ -1,5 +1,6 @@ using osu.Framework.Bindables; using osu.Framework.Graphics; +using osu.Framework.Localisation; using osu.Game.Rulesets.Hitokori.Objects.Base; using osu.Game.Rulesets.Hitokori.UI; using osu.Game.Rulesets.Mods; @@ -10,7 +11,7 @@ namespace osu.Game.Rulesets.Hitokori.Mods { public class HitokoriModFlashlight : ModFlashlight, IUpdatableByPlayfield { public override double ScoreMultiplier => 1.12; - public override string Description => HitokoriRuleset.GetLocalisedHack( Localisation.ModStrings.FlashlightDescription ); + public override LocalisableString Description => Localisation.ModStrings.FlashlightDescription; public override bool HasImplementation => true; diff --git a/Hitokori/Mods/HitokoriModHalfTime.cs b/Hitokori/Mods/HitokoriModHalfTime.cs index 8a96cf5..fb083b4 100644 --- a/Hitokori/Mods/HitokoriModHalfTime.cs +++ b/Hitokori/Mods/HitokoriModHalfTime.cs @@ -1,8 +1,9 @@ -using osu.Game.Rulesets.Mods; +using osu.Framework.Localisation; +using osu.Game.Rulesets.Mods; namespace osu.Game.Rulesets.Hitokori.Mods { public class HitokoriModHalfTime : ModHalfTime { public override double ScoreMultiplier => 0.4; - public override string Description => HitokoriRuleset.GetLocalisedHack( Localisation.ModStrings.HalfTimeDescription ); + public override LocalisableString Description => Localisation.ModStrings.HalfTimeDescription; } } diff --git a/Hitokori/Mods/HitokoriModHardRock.cs b/Hitokori/Mods/HitokoriModHardRock.cs index a81ada6..417401b 100644 --- a/Hitokori/Mods/HitokoriModHardRock.cs +++ b/Hitokori/Mods/HitokoriModHardRock.cs @@ -1,4 +1,5 @@ using osu.Framework.Graphics.Sprites; +using osu.Framework.Localisation; using osu.Game.Graphics; using osu.Game.Rulesets.Hitokori.Beatmaps; using osu.Game.Rulesets.Mods; @@ -10,7 +11,7 @@ public class HitokoriModHardRock : AutoImplementedMod { public override double ScoreMultiplier => 1.1; public override string Name => "Hard Rock"; public override string Acronym => "HR"; - public override string Description => HitokoriRuleset.GetLocalisedHack( Localisation.ModStrings.HardRockDescription ); + public override LocalisableString Description => Localisation.ModStrings.HardRockDescription; public override Type[] IncompatibleMods => base.IncompatibleMods.Concat( new[] { typeof( ModEasy ), typeof( ModDifficultyAdjust ) } ).ToArray(); diff --git a/Hitokori/Mods/HitokoriModHidden.cs b/Hitokori/Mods/HitokoriModHidden.cs index ea8d0be..dc4299a 100644 --- a/Hitokori/Mods/HitokoriModHidden.cs +++ b/Hitokori/Mods/HitokoriModHidden.cs @@ -1,4 +1,5 @@ using osu.Framework.Graphics; +using osu.Framework.Localisation; using osu.Game.Rulesets.Hitokori.Objects.Drawables.Tiles; using osu.Game.Rulesets.Mods; using osu.Game.Rulesets.Objects.Drawables; @@ -7,7 +8,7 @@ namespace osu.Game.Rulesets.Hitokori.Mods { public class HitokoriModHidden : ModHidden { public override double ScoreMultiplier => 1.10; - public override string Description => HitokoriRuleset.GetLocalisedHack( Localisation.ModStrings.HiddenDescription ); + public override LocalisableString Description => Localisation.ModStrings.HiddenDescription; protected override void ApplyNormalVisibilityState ( DrawableHitObject hitObject, ArmedState state ) { if ( hitObject is DrawableTilePoint tile ) { diff --git a/Hitokori/Mods/HitokoriModHoldTiles.cs b/Hitokori/Mods/HitokoriModHoldTiles.cs index 4f901ab..02af4df 100644 --- a/Hitokori/Mods/HitokoriModHoldTiles.cs +++ b/Hitokori/Mods/HitokoriModHoldTiles.cs @@ -1,4 +1,5 @@ using osu.Framework.Graphics.Sprites; +using osu.Framework.Localisation; using osu.Game.Rulesets.Hitokori.Beatmaps; using osu.Game.Rulesets.Mods; @@ -6,7 +7,7 @@ namespace osu.Game.Rulesets.Hitokori.Mods { public class HitokoriModHoldTiles : AutoImplementedMod { public override string Name => "Hold Tiles"; public override string Acronym => "HDT"; - public override string Description => HitokoriRuleset.GetLocalisedHack( Localisation.ModStrings.HoldDescription ); + public override LocalisableString Description => Localisation.ModStrings.HoldDescription; public override double ScoreMultiplier => 1; diff --git a/Hitokori/Mods/HitokoriModNightcore.cs b/Hitokori/Mods/HitokoriModNightcore.cs index 7d915c2..5340f0f 100644 --- a/Hitokori/Mods/HitokoriModNightcore.cs +++ b/Hitokori/Mods/HitokoriModNightcore.cs @@ -1,9 +1,10 @@ -using osu.Game.Rulesets.Hitokori.Objects.Base; +using osu.Framework.Localisation; +using osu.Game.Rulesets.Hitokori.Objects.Base; using osu.Game.Rulesets.Mods; namespace osu.Game.Rulesets.Hitokori.Mods { public class HitokoriModNightcore : ModNightcore { - public override string Description => HitokoriRuleset.GetLocalisedHack( Localisation.ModStrings.NightcoreDescription ); + public override LocalisableString Description => Localisation.ModStrings.NightcoreDescription; public override double ScoreMultiplier => 1.12; } diff --git a/Hitokori/Mods/HitokoriModNoFail.cs b/Hitokori/Mods/HitokoriModNoFail.cs index ae02d0a..88e8451 100644 --- a/Hitokori/Mods/HitokoriModNoFail.cs +++ b/Hitokori/Mods/HitokoriModNoFail.cs @@ -1,7 +1,8 @@ -using osu.Game.Rulesets.Mods; +using osu.Framework.Localisation; +using osu.Game.Rulesets.Mods; namespace osu.Game.Rulesets.Hitokori.Mods { public class HitokoriModNoFail : ModNoFail { - public override string Description => HitokoriRuleset.GetLocalisedHack( Localisation.ModStrings.NoFailDescription ); + public override LocalisableString Description => Localisation.ModStrings.NoFailDescription; } } diff --git a/Hitokori/Mods/HitokoriModPerfect.cs b/Hitokori/Mods/HitokoriModPerfect.cs index 2ea341a..ebdb0bf 100644 --- a/Hitokori/Mods/HitokoriModPerfect.cs +++ b/Hitokori/Mods/HitokoriModPerfect.cs @@ -1,7 +1,8 @@ -using osu.Game.Rulesets.Mods; +using osu.Framework.Localisation; +using osu.Game.Rulesets.Mods; namespace osu.Game.Rulesets.Hitokori.Mods { public class HitokoriModPerfect : ModPerfect { - public override string Description => HitokoriRuleset.GetLocalisedHack( Localisation.ModStrings.PerfectDescription ); + public override LocalisableString Description => Localisation.ModStrings.PerfectDescription; } } diff --git a/Hitokori/Mods/HitokoriModReverseSpin.cs b/Hitokori/Mods/HitokoriModReverseSpin.cs index 38b6304..a2963c8 100644 --- a/Hitokori/Mods/HitokoriModReverseSpin.cs +++ b/Hitokori/Mods/HitokoriModReverseSpin.cs @@ -1,11 +1,12 @@ using osu.Framework.Graphics.Sprites; +using osu.Framework.Localisation; using osu.Game.Rulesets.Mods; namespace osu.Game.Rulesets.Hitokori.Mods { public class HitokoriModReverseSpin : Mod { public override string Name => "Reverse Spin"; public override string Acronym => "RS"; - public override string Description => HitokoriRuleset.GetLocalisedHack( Localisation.ModStrings.ReverseSpinDescription ); + public override LocalisableString Description => Localisation.ModStrings.ReverseSpinDescription; public override double ScoreMultiplier => 1; diff --git a/Hitokori/Mods/HitokoriModSpinTiles.cs b/Hitokori/Mods/HitokoriModSpinTiles.cs index e1b1677..8fd7d66 100644 --- a/Hitokori/Mods/HitokoriModSpinTiles.cs +++ b/Hitokori/Mods/HitokoriModSpinTiles.cs @@ -1,4 +1,5 @@ using osu.Framework.Graphics.Sprites; +using osu.Framework.Localisation; using osu.Game.Rulesets.Hitokori.Beatmaps; using osu.Game.Rulesets.Mods; @@ -6,7 +7,7 @@ namespace osu.Game.Rulesets.Hitokori.Mods { public class HitokoriModSpinTiles : AutoImplementedMod { public override string Name => "Spin Tiles"; public override string Acronym => "SPT"; - public override string Description => HitokoriRuleset.GetLocalisedHack( Localisation.ModStrings.SpinDescription ); + public override LocalisableString Description => Localisation.ModStrings.SpinDescription; public override double ScoreMultiplier => 1; diff --git a/Hitokori/Mods/HitokoriModSuddenDeath.cs b/Hitokori/Mods/HitokoriModSuddenDeath.cs index 0d06fcb..bc037c1 100644 --- a/Hitokori/Mods/HitokoriModSuddenDeath.cs +++ b/Hitokori/Mods/HitokoriModSuddenDeath.cs @@ -1,7 +1,8 @@ -using osu.Game.Rulesets.Mods; +using osu.Framework.Localisation; +using osu.Game.Rulesets.Mods; namespace osu.Game.Rulesets.Hitokori.Mods { public class HitokoriModSuddenDeath : ModSuddenDeath { - public override string Description => HitokoriRuleset.GetLocalisedHack( Localisation.ModStrings.SuddenDeathDescription ); + public override LocalisableString Description => Localisation.ModStrings.SuddenDeathDescription; } } diff --git a/Hitokori/Mods/HitokoriModTriplets.cs b/Hitokori/Mods/HitokoriModTriplets.cs index c55ea0e..6d479a1 100644 --- a/Hitokori/Mods/HitokoriModTriplets.cs +++ b/Hitokori/Mods/HitokoriModTriplets.cs @@ -1,4 +1,5 @@ using osu.Framework.Graphics.Sprites; +using osu.Framework.Localisation; using osu.Game.Rulesets.Hitokori.Beatmaps; using osu.Game.Rulesets.Mods; @@ -6,7 +7,7 @@ namespace osu.Game.Rulesets.Hitokori.Mods { public class HitokoriModTriplets : AutoImplementedMod { public override string Name => "Triplets"; public override string Acronym => "TR"; - public override string Description => HitokoriRuleset.GetLocalisedHack( Localisation.ModStrings.TripletsDescription ); + public override LocalisableString Description => Localisation.ModStrings.TripletsDescription; public override double ScoreMultiplier => 1; diff --git a/Hitokori/Mods/HitokoriModUntangle.cs b/Hitokori/Mods/HitokoriModUntangle.cs index cb4a189..862bf20 100644 --- a/Hitokori/Mods/HitokoriModUntangle.cs +++ b/Hitokori/Mods/HitokoriModUntangle.cs @@ -1,4 +1,5 @@ using osu.Framework.Graphics.Sprites; +using osu.Framework.Localisation; using osu.Game.Rulesets.Hitokori.Beatmaps; using osu.Game.Rulesets.Mods; @@ -6,7 +7,7 @@ namespace osu.Game.Rulesets.Hitokori.Mods { public class HitokoriModUntangle : AutoImplementedMod { public override string Name => "Untangle"; public override string Acronym => "UN"; - public override string Description => HitokoriRuleset.GetLocalisedHack( Localisation.ModStrings.UntangleDescription ); + public override LocalisableString Description => Localisation.ModStrings.UntangleDescription; public override double ScoreMultiplier => 1; diff --git a/Hitokori/Objects/Drawables/Hitokori/StarSparkle.cs b/Hitokori/Objects/Drawables/Hitokori/StarSparkle.cs index fe0ffab..89029d1 100644 --- a/Hitokori/Objects/Drawables/Hitokori/StarSparkle.cs +++ b/Hitokori/Objects/Drawables/Hitokori/StarSparkle.cs @@ -48,7 +48,7 @@ public class SparklePool : IDisposable { public StarSparkle Borrow ( double duration ) { foreach ( var sparkle in sparkles ) { if ( !sparkle.IsBorrowed ) { - ( sparkle.Parent as Container )?.Remove( sparkle ); + ( sparkle.Parent as Container )?.Remove( sparkle, false ); sparkle.StartTime = Clock.CurrentTime; sparkle.Duration = duration; sparkle.Clock = Clock; diff --git a/Hitokori/Objects/Drawables/TileMarker.cs b/Hitokori/Objects/Drawables/TileMarker.cs index 45b5c1e..e1f09b9 100644 --- a/Hitokori/Objects/Drawables/TileMarker.cs +++ b/Hitokori/Objects/Drawables/TileMarker.cs @@ -64,7 +64,7 @@ public void Apply ( TilePoint tile ) { Circle.Alpha = 0; } public void Free () { - RemoveAll( x => x != Circle && x != TargetMarker ); + RemoveAll( x => x != Circle && x != TargetMarker, false ); ClearTransforms( true ); Circle.Alpha = 0; LineToMe = null; diff --git a/Hitokori/Objects/Drawables/Tiles/DrawableHoldTile.cs b/Hitokori/Objects/Drawables/Tiles/DrawableHoldTile.cs index 636cad2..698bce4 100644 --- a/Hitokori/Objects/Drawables/Tiles/DrawableHoldTile.cs +++ b/Hitokori/Objects/Drawables/Tiles/DrawableHoldTile.cs @@ -129,8 +129,8 @@ protected override void AddNestedHitObject ( DrawableHitObject hitObject ) { } protected override void ClearNestedHitObjects () { - RemoveInternal( StartPoint ); - RemoveInternal( EndPoint ); + RemoveInternal( StartPoint, false ); + RemoveInternal( EndPoint, false ); StartPoint = null; EndPoint = null; diff --git a/Hitokori/Objects/Drawables/Tiles/DrawableSpinTile.cs b/Hitokori/Objects/Drawables/Tiles/DrawableSpinTile.cs index 196fab0..a55b8ae 100644 --- a/Hitokori/Objects/Drawables/Tiles/DrawableSpinTile.cs +++ b/Hitokori/Objects/Drawables/Tiles/DrawableSpinTile.cs @@ -43,7 +43,7 @@ protected override void AddNestedHitObject ( DrawableHitObject hitObject ) { protected override void ClearNestedHitObjects () { foreach ( var i in Points ) { - RemoveInternal( i ); + RemoveInternal( i, false ); } Points.Clear(); diff --git a/Hitokori/Objects/Drawables/Tiles/DrawableTapTile.cs b/Hitokori/Objects/Drawables/Tiles/DrawableTapTile.cs index 426b328..de5fe79 100644 --- a/Hitokori/Objects/Drawables/Tiles/DrawableTapTile.cs +++ b/Hitokori/Objects/Drawables/Tiles/DrawableTapTile.cs @@ -45,7 +45,7 @@ protected override void AddNestedHitObject ( DrawableHitObject hitObject ) { } protected override void ClearNestedHitObjects () { - RemoveInternal( PressPoint ); + RemoveInternal( PressPoint, false ); PressPoint = null; } diff --git a/Hitokori/Objects/Drawables/Trails/PathTileConnector.cs b/Hitokori/Objects/Drawables/Trails/PathTileConnector.cs index fe0ea2c..d49171e 100644 --- a/Hitokori/Objects/Drawables/Trails/PathTileConnector.cs +++ b/Hitokori/Objects/Drawables/Trails/PathTileConnector.cs @@ -162,7 +162,7 @@ public class PooledPath : Path { public bool IsBorrowed { get; private set; } public void Release () { IsBorrowed = false; - ( Parent as Container )?.Remove( this ); + ( Parent as Container )?.Remove( this, false ); } public void Borrow () { diff --git a/Hitokori/UI/HitokoriIcon.cs b/Hitokori/UI/HitokoriIcon.cs index 3f3cd8b..e739846 100644 --- a/Hitokori/UI/HitokoriIcon.cs +++ b/Hitokori/UI/HitokoriIcon.cs @@ -12,12 +12,6 @@ public class HitokoriIcon : Container { private LocalisationManager localisation { get; set; } public HitokoriIcon () { - if ( HitokoriRuleset.LocalisationHackFactory is null ) { - HitokoriRuleset.LocalisationHackFactory = str => { - return localisation.GetLocalisedBindableString( str ); - }; - } - this.Center(); RelativeSizeAxes = Axes.Both; diff --git a/Hitokori/osu.Game.Rulesets.Hitokori.csproj b/Hitokori/osu.Game.Rulesets.Hitokori.csproj index 0fbb55a..c0fd081 100644 --- a/Hitokori/osu.Game.Rulesets.Hitokori.csproj +++ b/Hitokori/osu.Game.Rulesets.Hitokori.csproj @@ -6,7 +6,7 @@ - +