diff --git a/osu.Game/Graphics/UserInterface/OsuPasswordTextBox.cs b/osu.Game/Graphics/UserInterface/OsuPasswordTextBox.cs index 8299cdf548..13fbbb16e0 100644 --- a/osu.Game/Graphics/UserInterface/OsuPasswordTextBox.cs +++ b/osu.Game/Graphics/UserInterface/OsuPasswordTextBox.cs @@ -1,9 +1,10 @@ // Copyright (c) 2007-2017 ppy Pty Ltd . -// Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE +// Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu-framework/master/LICENCE using osu.Framework.Graphics; using osu.Framework.Graphics.Containers; using osu.Framework.Graphics.Sprites; +using osu.Framework.Graphics.Transformations; using OpenTK; using OpenTK.Graphics; @@ -11,17 +12,23 @@ namespace osu.Game.Graphics.UserInterface { public class OsuPasswordTextBox : OsuTextBox { - protected override Drawable GetDrawableCharacter(char c) => - new Container + protected override Drawable GetDrawableCharacter(char c) => new PasswordMaskChar(CalculatedTextSize); + + public class PasswordMaskChar : Container + { + private CircularContainer circle; + + public PasswordMaskChar(float size) { - Size = new Vector2(CalculatedTextSize / 2, CalculatedTextSize), + Size = new Vector2(size / 2, size); Children = new[] { - new CircularContainer + circle = new CircularContainer { Anchor = Anchor.Centre, + Alpha = 0, RelativeSizeAxes = Axes.Both, - Size = new Vector2(0.8f), + Size = new Vector2(0.8f, 0), Children = new[] { new Box @@ -31,7 +38,15 @@ namespace osu.Game.Graphics.UserInterface } }, } - } - }; + }; + } + + protected override void LoadComplete() + { + base.LoadComplete(); + circle.FadeIn(500, EasingTypes.OutQuint); + circle.ResizeTo(new Vector2(0.8f), 500, EasingTypes.OutQuint); + } + } } -} \ No newline at end of file +}