Merge pull request #1372 from smoogipoo/better-medal-loading

Only update positions when the medalContainer is loaded.
This commit is contained in:
Dean Herbert 2017-10-14 13:32:38 +09:00 committed by GitHub
commit 300cbd3026
1 changed files with 7 additions and 4 deletions

View File

@ -27,13 +27,13 @@ public class DrawableMedal : Container, IStateful<DisplayState>
private readonly Sprite medalSprite, medalGlow;
private readonly OsuSpriteText unlocked, name;
private readonly TextFlowContainer description;
private readonly FillFlowContainer infoFlow;
private DisplayState state;
public DrawableMedal(Medal medal)
{
this.medal = medal;
Position = new Vector2(0f, MedalOverlay.DISC_SIZE / 2);
FillFlowContainer infoFlow;
Children = new Drawable[]
{
medalContainer = new Container
@ -108,6 +108,12 @@ public DrawableMedal(Medal medal)
s.Origin = Anchor.TopCentre;
s.TextSize = 16;
});
medalContainer.OnLoadComplete = d =>
{
unlocked.Position = new Vector2(0f, medalContainer.DrawSize.Y / 2 + 10);
infoFlow.Position = new Vector2(0f, unlocked.Position.Y + 90);
};
}
[BackgroundDependencyLoader]
@ -123,9 +129,6 @@ protected override void LoadComplete()
base.LoadComplete();
updateState();
unlocked.Position = new Vector2(0f, medalContainer.DrawSize.Y / 2 + 10);
infoFlow.Position = new Vector2(0f, unlocked.Position.Y + 90);
}
public DisplayState State