mirror of
https://github.com/osukey/osukey.git
synced 2025-08-07 00:23:59 +09:00
Fix medal overlay display
This commit is contained in:
@ -41,105 +41,114 @@ namespace osu.Game.Overlays
|
|||||||
|
|
||||||
private SampleChannel getSample;
|
private SampleChannel getSample;
|
||||||
|
|
||||||
|
private readonly Container content;
|
||||||
|
|
||||||
public MedalOverlay(Medal medal)
|
public MedalOverlay(Medal medal)
|
||||||
{
|
{
|
||||||
this.medal = medal;
|
this.medal = medal;
|
||||||
RelativeSizeAxes = Axes.Both;
|
RelativeSizeAxes = Axes.Both;
|
||||||
|
|
||||||
Children = new Drawable[]
|
Child = content = new Container
|
||||||
{
|
{
|
||||||
background = new Box
|
Alpha = 0,
|
||||||
|
RelativeSizeAxes = Axes.Both,
|
||||||
|
Children = new Drawable[]
|
||||||
{
|
{
|
||||||
RelativeSizeAxes = Axes.Both,
|
background = new Box
|
||||||
Colour = Color4.Black.Opacity(60),
|
|
||||||
},
|
|
||||||
outerSpin = new Sprite
|
|
||||||
{
|
|
||||||
Anchor = Anchor.Centre,
|
|
||||||
Origin = Anchor.Centre,
|
|
||||||
Size = new Vector2(DISC_SIZE + 500),
|
|
||||||
Alpha = 0f,
|
|
||||||
},
|
|
||||||
backgroundStrip = new Container
|
|
||||||
{
|
|
||||||
Anchor = Anchor.Centre,
|
|
||||||
Origin = Anchor.Centre,
|
|
||||||
RelativeSizeAxes = Axes.X,
|
|
||||||
Height = border_width,
|
|
||||||
Alpha = 0f,
|
|
||||||
Children = new[]
|
|
||||||
{
|
{
|
||||||
new Container
|
RelativeSizeAxes = Axes.Both,
|
||||||
|
Colour = Color4.Black.Opacity(60),
|
||||||
|
},
|
||||||
|
outerSpin = new Sprite
|
||||||
|
{
|
||||||
|
Anchor = Anchor.Centre,
|
||||||
|
Origin = Anchor.Centre,
|
||||||
|
Size = new Vector2(DISC_SIZE + 500),
|
||||||
|
Alpha = 0f,
|
||||||
|
},
|
||||||
|
backgroundStrip = new Container
|
||||||
|
{
|
||||||
|
Anchor = Anchor.Centre,
|
||||||
|
Origin = Anchor.Centre,
|
||||||
|
RelativeSizeAxes = Axes.X,
|
||||||
|
Height = border_width,
|
||||||
|
Alpha = 0f,
|
||||||
|
Children = new[]
|
||||||
{
|
{
|
||||||
RelativeSizeAxes = Axes.Both,
|
new Container
|
||||||
Anchor = Anchor.Centre,
|
|
||||||
Origin = Anchor.CentreRight,
|
|
||||||
Width = 0.5f,
|
|
||||||
Padding = new MarginPadding { Right = DISC_SIZE / 2 },
|
|
||||||
Children = new[]
|
|
||||||
{
|
{
|
||||||
leftStrip = new BackgroundStrip(0f, 1f)
|
RelativeSizeAxes = Axes.Both,
|
||||||
|
Anchor = Anchor.Centre,
|
||||||
|
Origin = Anchor.CentreRight,
|
||||||
|
Width = 0.5f,
|
||||||
|
Padding = new MarginPadding { Right = DISC_SIZE / 2 },
|
||||||
|
Children = new[]
|
||||||
{
|
{
|
||||||
Anchor = Anchor.TopRight,
|
leftStrip = new BackgroundStrip(0f, 1f)
|
||||||
Origin = Anchor.TopRight,
|
{
|
||||||
|
Anchor = Anchor.TopRight,
|
||||||
|
Origin = Anchor.TopRight,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
new Container
|
||||||
|
{
|
||||||
|
RelativeSizeAxes = Axes.Both,
|
||||||
|
Anchor = Anchor.Centre,
|
||||||
|
Origin = Anchor.CentreLeft,
|
||||||
|
Width = 0.5f,
|
||||||
|
Padding = new MarginPadding { Left = DISC_SIZE / 2 },
|
||||||
|
Children = new[]
|
||||||
|
{
|
||||||
|
rightStrip = new BackgroundStrip(1f, 0f),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
new Container
|
},
|
||||||
|
particleContainer = new Container
|
||||||
|
{
|
||||||
|
RelativeSizeAxes = Axes.Both,
|
||||||
|
Alpha = 0f,
|
||||||
|
},
|
||||||
|
disc = new CircularContainer
|
||||||
|
{
|
||||||
|
Anchor = Anchor.Centre,
|
||||||
|
Origin = Anchor.Centre,
|
||||||
|
Alpha = 0f,
|
||||||
|
Masking = true,
|
||||||
|
AlwaysPresent = true,
|
||||||
|
BorderColour = Color4.White,
|
||||||
|
BorderThickness = border_width,
|
||||||
|
Size = new Vector2(DISC_SIZE),
|
||||||
|
Scale = new Vector2(0.8f),
|
||||||
|
Children = new Drawable[]
|
||||||
{
|
{
|
||||||
RelativeSizeAxes = Axes.Both,
|
new Box
|
||||||
Anchor = Anchor.Centre,
|
|
||||||
Origin = Anchor.CentreLeft,
|
|
||||||
Width = 0.5f,
|
|
||||||
Padding = new MarginPadding { Left = DISC_SIZE / 2 },
|
|
||||||
Children = new[]
|
|
||||||
{
|
{
|
||||||
rightStrip = new BackgroundStrip(1f, 0f),
|
RelativeSizeAxes = Axes.Both,
|
||||||
|
Colour = OsuColour.FromHex(@"05262f"),
|
||||||
|
},
|
||||||
|
new Triangles
|
||||||
|
{
|
||||||
|
RelativeSizeAxes = Axes.Both,
|
||||||
|
TriangleScale = 2,
|
||||||
|
ColourDark = OsuColour.FromHex(@"04222b"),
|
||||||
|
ColourLight = OsuColour.FromHex(@"052933"),
|
||||||
|
},
|
||||||
|
innerSpin = new Sprite
|
||||||
|
{
|
||||||
|
Anchor = Anchor.Centre,
|
||||||
|
Origin = Anchor.Centre,
|
||||||
|
RelativeSizeAxes = Axes.Both,
|
||||||
|
Size = new Vector2(1.05f),
|
||||||
|
Alpha = 0.25f,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
}
|
||||||
particleContainer = new Container
|
|
||||||
{
|
|
||||||
RelativeSizeAxes = Axes.Both,
|
|
||||||
Alpha = 0f,
|
|
||||||
},
|
|
||||||
disc = new CircularContainer
|
|
||||||
{
|
|
||||||
Anchor = Anchor.Centre,
|
|
||||||
Origin = Anchor.Centre,
|
|
||||||
Alpha = 0f,
|
|
||||||
Masking = true,
|
|
||||||
AlwaysPresent = true,
|
|
||||||
BorderColour = Color4.White,
|
|
||||||
BorderThickness = border_width,
|
|
||||||
Size = new Vector2(DISC_SIZE),
|
|
||||||
Scale = new Vector2(0.8f),
|
|
||||||
Children = new Drawable[]
|
|
||||||
{
|
|
||||||
new Box
|
|
||||||
{
|
|
||||||
RelativeSizeAxes = Axes.Both,
|
|
||||||
Colour = OsuColour.FromHex(@"05262f"),
|
|
||||||
},
|
|
||||||
new Triangles
|
|
||||||
{
|
|
||||||
RelativeSizeAxes = Axes.Both,
|
|
||||||
TriangleScale = 2,
|
|
||||||
ColourDark = OsuColour.FromHex(@"04222b"),
|
|
||||||
ColourLight = OsuColour.FromHex(@"052933"),
|
|
||||||
},
|
|
||||||
innerSpin = new Sprite
|
|
||||||
{
|
|
||||||
Anchor = Anchor.Centre,
|
|
||||||
Origin = Anchor.Centre,
|
|
||||||
RelativeSizeAxes = Axes.Both,
|
|
||||||
Size = new Vector2(1.05f),
|
|
||||||
Alpha = 0.25f,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Show();
|
||||||
}
|
}
|
||||||
|
|
||||||
[BackgroundDependencyLoader]
|
[BackgroundDependencyLoader]
|
||||||
@ -168,7 +177,7 @@ namespace osu.Game.Overlays
|
|||||||
}, loaded =>
|
}, loaded =>
|
||||||
{
|
{
|
||||||
disc.Add(loaded);
|
disc.Add(loaded);
|
||||||
Show();
|
startAnimation();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -193,11 +202,10 @@ namespace osu.Game.Overlays
|
|||||||
private const double initial_duration = 400;
|
private const double initial_duration = 400;
|
||||||
private const double step_duration = 900;
|
private const double step_duration = 900;
|
||||||
|
|
||||||
protected override void PopIn()
|
private void startAnimation()
|
||||||
{
|
{
|
||||||
base.PopIn();
|
content.Show();
|
||||||
|
|
||||||
this.FadeIn(200);
|
|
||||||
background.FlashColour(Color4.White.Opacity(0.25f), 400);
|
background.FlashColour(Color4.White.Opacity(0.25f), 400);
|
||||||
|
|
||||||
getSample.Play();
|
getSample.Play();
|
||||||
|
Reference in New Issue
Block a user