// Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence. // See the LICENCE file in the repository root for full licence text. using JetBrains.Annotations; using osu.Framework.Allocation; using osu.Framework.Bindables; using osu.Framework.Graphics; using osu.Framework.Graphics.Containers; using osu.Framework.Graphics.Sprites; using osu.Framework.Graphics.Textures; using osu.Game.Tournament.Models; using osuTK; namespace osu.Game.Tournament.Components { public partial class DrawableTeamFlag : Container { private readonly TournamentTeam? team; [UsedImplicitly] private Bindable? flag; private Sprite? flagSprite; public DrawableTeamFlag(TournamentTeam? team) { this.team = team; } [BackgroundDependencyLoader] private void load(TextureStore textures) { if (team == null) return; Size = new Vector2(75, 54); Masking = true; CornerRadius = 5; Child = flagSprite = new Sprite { RelativeSizeAxes = Axes.Both, Anchor = Anchor.Centre, Origin = Anchor.Centre, FillMode = FillMode.Fill }; (flag = team.FlagName.GetBoundCopy()).BindValueChanged(_ => flagSprite.Texture = textures.Get($@"Flags/{team.FlagName}"), true); } } }