mirror of
https://github.com/osukey/osukey.git
synced 2025-05-21 21:47:31 +09:00
Don't flip catcher plate contents in legacy skin
This commit is contained in:
parent
fbba32647e
commit
83c80291d4
13
osu.Game.Rulesets.Catch/Skinning/CatchSkinConfiguration.cs
Normal file
13
osu.Game.Rulesets.Catch/Skinning/CatchSkinConfiguration.cs
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
|
||||||
|
// See the LICENCE file in the repository root for full licence text.
|
||||||
|
|
||||||
|
namespace osu.Game.Rulesets.Catch.Skinning
|
||||||
|
{
|
||||||
|
public enum CatchSkinConfiguration
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Whether the contents of the catcher plate should be visually flipped when the catcher direction is changed.
|
||||||
|
/// </summary>
|
||||||
|
FlipCatcherPlate
|
||||||
|
}
|
||||||
|
}
|
@ -103,6 +103,16 @@ namespace osu.Game.Rulesets.Catch.Skinning.Legacy
|
|||||||
|
|
||||||
result.Value = LegacyColourCompatibility.DisallowZeroAlpha(result.Value);
|
result.Value = LegacyColourCompatibility.DisallowZeroAlpha(result.Value);
|
||||||
return (IBindable<TValue>)result;
|
return (IBindable<TValue>)result;
|
||||||
|
|
||||||
|
case CatchSkinConfiguration config:
|
||||||
|
switch (config)
|
||||||
|
{
|
||||||
|
case CatchSkinConfiguration.FlipCatcherPlate:
|
||||||
|
// Always return `false` (don't flip catcher plate contents) for a legacy skin.
|
||||||
|
return (IBindable<TValue>)new Bindable<bool>();
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return base.GetConfig<TLookup, TValue>(lookup);
|
return base.GetConfig<TLookup, TValue>(lookup);
|
||||||
|
@ -108,8 +108,16 @@ namespace osu.Game.Rulesets.Catch.UI
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The currently facing direction.
|
||||||
|
/// </summary>
|
||||||
public Direction VisualDirection { get; set; } = Direction.Right;
|
public Direction VisualDirection { get; set; } = Direction.Right;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Whether the contents of the catcher plate should be visually flipped when the catcher direction is changed.
|
||||||
|
/// </summary>
|
||||||
|
private bool flipCatcherPlate;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Width of the area that can be used to attempt catches during gameplay.
|
/// Width of the area that can be used to attempt catches during gameplay.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -343,6 +351,8 @@ namespace osu.Game.Rulesets.Catch.UI
|
|||||||
trails.HyperDashTrailsColour = hyperDashColour;
|
trails.HyperDashTrailsColour = hyperDashColour;
|
||||||
trails.EndGlowSpritesColour = hyperDashEndGlowColour;
|
trails.EndGlowSpritesColour = hyperDashEndGlowColour;
|
||||||
|
|
||||||
|
flipCatcherPlate = skin.GetConfig<CatchSkinConfiguration, bool>(CatchSkinConfiguration.FlipCatcherPlate)?.Value ?? true;
|
||||||
|
|
||||||
runHyperDashStateTransition(HyperDashing);
|
runHyperDashStateTransition(HyperDashing);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -352,8 +362,7 @@ namespace osu.Game.Rulesets.Catch.UI
|
|||||||
|
|
||||||
var scaleFromDirection = new Vector2((int)VisualDirection, 1);
|
var scaleFromDirection = new Vector2((int)VisualDirection, 1);
|
||||||
Body.Scale = scaleFromDirection;
|
Body.Scale = scaleFromDirection;
|
||||||
// TODO: don't flip plate contents on legacy skin.
|
caughtObjectContainer.Scale = hitExplosionContainer.Scale = flipCatcherPlate ? scaleFromDirection : Vector2.One;
|
||||||
caughtObjectContainer.Scale = hitExplosionContainer.Scale = scaleFromDirection;
|
|
||||||
|
|
||||||
// Correct overshooting.
|
// Correct overshooting.
|
||||||
if ((hyperDashDirection > 0 && hyperDashTargetPosition < X) ||
|
if ((hyperDashDirection > 0 && hyperDashTargetPosition < X) ||
|
||||||
|
Loading…
x
Reference in New Issue
Block a user