public static PopupAlertMessage AvatarPurchaseSuccessFeedback(AvatarMetadata avatarMetadata) { List <List <SpriteText> > stMatrix; List <SpriteText> titleSTList, messageSTList1, messageSTList2; titleSTList = new List <SpriteText>(); titleSTList.Add(new SpriteText(FontTextType.FontAwesome11, "" + (char)Language.PopupAlertMessageAvatarPurchaseSuccessTitleIcon, Color.White, Alignment.Left, layerDepth: DepthParameter.SceneTransitioningEffectBase)); titleSTList.Add(new SpriteText(FontTextType.Consolas11, Language.PopupAlertMessageAvatarPurchaseSuccessTitle, Color.White, Alignment.Left, layerDepth: DepthParameter.SceneTransitioningEffectBase)); titleSTList.Add(new SpriteText(FontTextType.FontAwesome11, "" + (char)Language.PopupAlertMessageAvatarPurchaseSuccessTitleIcon, Color.White, Alignment.Left, layerDepth: DepthParameter.SceneTransitioningEffectBase)); messageSTList1 = new List <SpriteText>(); messageSTList1.Add(new SpriteText(FontTextType.Consolas10, Language.PopupAlertMessageAvatarPurchaseSuccessMessage11, Color.White, Alignment.Left, layerDepth: DepthParameter.SceneTransitioningEffectBase)); messageSTList1.Add(new SpriteText(FontTextType.Consolas10, avatarMetadata.Gender + " - " + avatarMetadata.AvatarCategory + " - " + avatarMetadata.Name, Color.LightSalmon, Alignment.Left, layerDepth: DepthParameter.SceneTransitioningEffectBase)); messageSTList1.Add(new SpriteText(FontTextType.Consolas10, Language.PopupAlertMessageAvatarPurchaseSuccessMessage12, Color.White, Alignment.Left, layerDepth: DepthParameter.SceneTransitioningEffectBase)); messageSTList2 = new List <SpriteText>(); messageSTList2.Add(new SpriteText(FontTextType.Consolas10, Language.PopupAlertMessageAvatarPurchaseSuccessMessage21, Color.White, Alignment.Left, layerDepth: DepthParameter.SceneTransitioningEffectBase)); stMatrix = new List <List <SpriteText> >(); stMatrix.Add(messageSTList1); stMatrix.Add(messageSTList2); CompositeSpriteText title, message; title = CompositeSpriteText.CreateCompositeSpriteText(titleSTList, Orientation.Horizontal, Alignment.Left, default); message = CompositeSpriteText.CreateCompositeSpriteText(stMatrix, Alignment.Left, Vector2.Zero + new Vector2(0, 20), new Vector2(0, 0)); PopupAlertMessage popup = new PopupAlertMessage(title, message, AlertMessageType.Accept); popup.OnConfirm = (x) => PopupHandler.Remove(popup); return(popup); }
public static PopupAlertMessage GameServerDisconnection() { List <List <SpriteText> > stMatrix; List <SpriteText> titleSTList, messageSTList1, messageSTList2; titleSTList = new List <SpriteText>(); titleSTList.Add(new SpriteText(FontTextType.FontAwesome11, "" + (char)FontAwesomeIconIndex.Exclamation_Triangle, Color.Red, Alignment.Left, layerDepth: DepthParameter.InterfacePopupMessageText)); titleSTList.Add(new SpriteText(FontTextType.Consolas11, Language.PopupAlertMessageTitleError, Color.White, Alignment.Left, layerDepth: DepthParameter.InterfacePopupMessageText)); titleSTList.Add(new SpriteText(FontTextType.FontAwesome11, "" + (char)FontAwesomeIconIndex.Exclamation_Triangle, Color.Red, Alignment.Left, layerDepth: DepthParameter.InterfacePopupMessageText)); messageSTList1 = new List <SpriteText>(); messageSTList1.Add(new SpriteText(FontTextType.Consolas10, Language.PopupAlertMessageServerDisconnection, Color.White, Alignment.Left, layerDepth: DepthParameter.InterfacePopupMessageText)); messageSTList1.Add(new SpriteText(FontTextType.Consolas10, Language.PopupAlertMessageGameServer, Color.CadetBlue, Alignment.Left, layerDepth: DepthParameter.InterfacePopupMessageText)); messageSTList1.Add(new SpriteText(FontTextType.Consolas10, ".", Color.White, Alignment.Left, layerDepth: DepthParameter.InterfacePopupMessageText)); messageSTList2 = new List <SpriteText>(); messageSTList2.Add(new SpriteText(FontTextType.Consolas10, Language.PopupAlertMessageGameServerDisconnection, Color.White, Alignment.Left, layerDepth: DepthParameter.InterfacePopupMessageText)); stMatrix = new List <List <SpriteText> >(); stMatrix.Add(messageSTList1); stMatrix.Add(messageSTList2); CompositeSpriteText title, message; title = CompositeSpriteText.CreateCompositeSpriteText(titleSTList, Orientation.Horizontal, Alignment.Left, default); message = CompositeSpriteText.CreateCompositeSpriteText(stMatrix, Alignment.Left, Vector2.Zero + new Vector2(0, 20), new Vector2(0, 0)); PopupAlertMessage popup = new PopupAlertMessage(title, message, AlertMessageType.Cancel); popup.OnClose = (x) => { SceneHandler.Instance.RequestSceneChange(SceneType.ServerSelection, TransitionEffectType.RotatingRectangles); }; return(popup); }
public static PopupAlertMessage LeaveGame() { List <List <SpriteText> > stMatrix; List <SpriteText> titleSTList, messageSTList1, messageSTList2; titleSTList = new List <SpriteText>(); titleSTList.Add(new SpriteText(FontTextType.Consolas11, Language.PopupAlertMessageLeaveGameTitle, Color.White, Alignment.Left, layerDepth: DepthParameter.SceneTransitioningEffectBase)); messageSTList1 = new List <SpriteText>(); messageSTList1.Add(new SpriteText(FontTextType.Consolas10, Language.PopupAlertMessageLeaveGameMessage11, Color.White, Alignment.Left, layerDepth: DepthParameter.SceneTransitioningEffectBase)); messageSTList1.Add(new SpriteText(FontTextType.Consolas10, Language.PopupAlertMessageLeaveGameMessage12, Color.LightSalmon, Alignment.Left, layerDepth: DepthParameter.SceneTransitioningEffectBase)); messageSTList1.Add(new SpriteText(FontTextType.Consolas10, Language.PopupAlertMessageLeaveGameMessage13, Color.White, Alignment.Left, layerDepth: DepthParameter.SceneTransitioningEffectBase)); messageSTList2 = new List <SpriteText>(); messageSTList2.Add(new SpriteText(FontTextType.Consolas10, Language.PopupAlertMessageLeaveGameMessage21, Color.White, Alignment.Left, layerDepth: DepthParameter.SceneTransitioningEffectBase)); stMatrix = new List <List <SpriteText> >(); stMatrix.Add(messageSTList1); stMatrix.Add(messageSTList2); CompositeSpriteText title, message; title = CompositeSpriteText.CreateCompositeSpriteText(titleSTList, Orientation.Horizontal, Alignment.Left, default); message = CompositeSpriteText.CreateCompositeSpriteText(stMatrix, Alignment.Left, Vector2.Zero + new Vector2(0, 20), new Vector2(0, 0)); PopupAlertMessage popup = new PopupAlertMessage(title, message); popup.OnConfirm = (x) => { SceneHandler.Instance.CloseGame(); }; return(popup); }
/// <summary> /// This constructor is made for nameplates used on the in-game scene /// </summary> /// <param name="mobile"></param> public Nameplate(Mobile mobile) { Player = mobile.Owner; Mobile = mobile; Alignment = Alignment.Center; Player player = mobile.Owner; rankIndicator = IconBuilder.Instance.BuildPlayerRank(player.PlayerRank, DepthParameter.Nameplate); List <SpriteText> spTL = new List <SpriteText>(); Color textColor = (player.PlayerTeam == PlayerTeam.Red) ? Parameter.TextColorTeamRed : Parameter.TextColorTeamBlue; if (player.Guild != null) { spTL.Add(new SpriteText(FontTextType.Consolas10, $"[{player.Guild.Tag}] ", textColor, Alignment, DepthParameter.Nameplate, outlineColor: Color.Black)); } spTL.Add(new SpriteText(FontTextType.Consolas10, player.Nickname, textColor, Alignment, DepthParameter.Nameplate, outlineColor: Color.Black)); compositeSpriteText = CompositeSpriteText.CreateCompositeSpriteText(spTL, Orientation.Horizontal, Alignment.Left, default, 0);
public static PopupAlertMessage AvatarPurchaseFailureFeedback() { List <List <SpriteText> > stMatrix; List <SpriteText> titleSTList, messageSTList1; titleSTList = new List <SpriteText>(); titleSTList.Add(new SpriteText(FontTextType.Consolas11, Language.PopupAlertMessageAvatarPurchaseFailureTitle, Color.White, Alignment.Left, layerDepth: DepthParameter.InterfacePopupMessageText)); messageSTList1 = new List <SpriteText>(); messageSTList1.Add(new SpriteText(FontTextType.Consolas10, Language.PopupAlertMessageAvatarPurchaseFailureMessage11, Color.White, Alignment.Left, layerDepth: DepthParameter.InterfacePopupMessageText)); stMatrix = new List <List <SpriteText> >(); stMatrix.Add(messageSTList1); CompositeSpriteText title, message; title = CompositeSpriteText.CreateCompositeSpriteText(titleSTList, Orientation.Horizontal, Alignment.Left, default); message = CompositeSpriteText.CreateCompositeSpriteText(stMatrix, Alignment.Left, Vector2.Zero + new Vector2(0, 20), new Vector2(0, 0)); PopupAlertMessage popup = new PopupAlertMessage(title, message, AlertMessageType.Cancel); popup.OnConfirm = (x) => PopupHandler.Remove(popup); return(popup); }
public PopupCreateGame(Vector2 positionOffset) : base(false) { Background = new Sprite("Interface/Popup/Blue/CreateRoom/Background", position: Parameter.ScreenCenter, layerDepth: DepthParameter.InterfacePopupBackground); buttonList.Add(new Button(ButtonType.CreateGame1v1, DepthParameter.InterfacePopupButtons, (sender) => { CreateGameRoomSizeButtonAction(sender, RoomSize.OneVsOne); })); buttonList.Add(new Button(ButtonType.CreateGame2v2, DepthParameter.InterfacePopupButtons, (sender) => { CreateGameRoomSizeButtonAction(sender, RoomSize.TwoVsTwo); })); buttonList.Add(new Button(ButtonType.CreateGame3v3, DepthParameter.InterfacePopupButtons, (sender) => { CreateGameRoomSizeButtonAction(sender, RoomSize.ThreeVsThree); })); buttonList.Add(new Button(ButtonType.CreateGame4v4, DepthParameter.InterfacePopupButtons, (sender) => { CreateGameRoomSizeButtonAction(sender, RoomSize.FourVsFour); })); buttonList.Add(new Button(ButtonType.CreateGameJewel, DepthParameter.InterfacePopupButtons, (sender) => { CreateGameGameModeButtonAction(sender, GameMode.Jewel); })); buttonList.Add(new Button(ButtonType.CreateGameTag, DepthParameter.InterfacePopupButtons, (sender) => { CreateGameGameModeButtonAction(sender, GameMode.Tag); })); buttonList.Add(new Button(ButtonType.CreateGameScore, DepthParameter.InterfacePopupButtons, (sender) => { CreateGameGameModeButtonAction(sender, GameMode.Score); })); buttonList.Add(new Button(ButtonType.CreateGameSolo, DepthParameter.InterfacePopupButtons, (sender) => { CreateGameGameModeButtonAction(sender, GameMode.Solo); })); buttonList.Add(new Button(ButtonType.Accept, DepthParameter.InterfacePopupButtons, CreateRoomAction)); buttonList.Add(new Button(ButtonType.Cancel, DepthParameter.InterfacePopupButtons, CloseAction)); compositeSpriteTextSentenceList = new List <SpriteText>(); compositeSpriteTextSentenceList.Add(new SpriteText(FontTextType.Consolas10, "", Color.White, Alignment.Left, DepthParameter.InterfacePopupText, outlineColor: Color.Black)); compositeSpriteTextSentenceList.Add(new SpriteText(FontTextType.Consolas10, "", Color.White, Alignment.Left, DepthParameter.InterfacePopupText, outlineColor: Color.Black)); compositeSpriteTextList.Add(CompositeSpriteText.CreateCompositeSpriteText(compositeSpriteTextSentenceList, Orientation.Vertical, Alignment.Left, new Vector2(0, 0), 5)); compositeSpriteTextList.Add(CompositeSpriteText.CreateCompositeSpriteText( new List <SpriteText>() { new SpriteText(FontTextType.Consolas10, Language.PopupCreateRoomTitle, Color.White, Alignment.Left, DepthParameter.InterfacePopupText, outlineColor: Color.Black), new SpriteText(FontTextType.Consolas10, Language.PopupCreateRoomPassword, Color.White, Alignment.Left, DepthParameter.InterfacePopupText, outlineColor: Color.Black) }, Orientation.Vertical, Alignment.Right, Vector2.Zero, 9)); //Button Texts spriteTextList.Add(new SpriteText(FontTextType.Consolas10, Language.GameModeJewel, Color.White, Alignment.Center, DepthParameter.InterfacePopupText)); spriteTextList.Add(new SpriteText(FontTextType.Consolas10, Language.GameModeTag, Color.White, Alignment.Center, DepthParameter.InterfacePopupText)); spriteTextList.Add(new SpriteText(FontTextType.Consolas10, Language.GameModeScore, Color.White, Alignment.Center, DepthParameter.InterfacePopupText)); spriteTextList.Add(new SpriteText(FontTextType.Consolas10, Language.GameModeSolo, Color.White, Alignment.Center, DepthParameter.InterfacePopupText)); //Room default configurations buttonList[3].ChangeButtonState(ButtonAnimationState.Activated, true); buttonList[7].ChangeButtonState(ButtonAnimationState.Activated, true); //Button variable helpers roomMetadata = new RoomMetadata(GameMode.Score, TurnsToSuddenDeath.Turn56, MatchSuddenDeathType.NoDeath, RoomSize.FourVsFour, GameInformation.Instance.PlayerInformation, 0, "", ""); roomSizeButtons = buttonList.GetRange(0, 4); gameTypeButtons = buttonList.GetRange(4, 4); roomSizeButtons.Union(gameTypeButtons).ToList().ForEach((x) => x.OnBeingReleased = (sender) => ((Button)sender).ChangeButtonState(ButtonAnimationState.Activated, true)); //Textfields textFieldList = new List <TextField>() { new TextField(default, 185, 14, 16, FontTextType.Consolas10, Color.White, DepthParameter.InterfacePopupText, outlineColor: Color.Black),
public void CreateRoomName() { SpriteText[] serverNameArr = new SpriteText[2] { new SpriteText(FontTextType.Consolas11, $"{GameInformation.Instance.ConnectedServerInformation.ServerID}. ", Parameter.NameplateGuildColor, Alignment.Left, DepthParameter.InterfaceButton, outlineColor: Color.Black), new SpriteText(FontTextType.Consolas11, $"{GameInformation.Instance.ConnectedServerInformation.ServerName}", Color.White, Alignment.Left, DepthParameter.InterfaceButton, outlineColor: Color.Black) }; serverName = CompositeSpriteText.CreateCompositeSpriteText(serverNameArr.ToList(), Orientation.Horizontal, Alignment.Center, Parameter.ScreenCenter + new Vector2(0, -295)); }
public PopupAlertMessage(CompositeSpriteText title, CompositeSpriteText message, AlertMessageType alertMessageType = AlertMessageType.AcceptCancel) : base(true) { Background = new Sprite("Interface/Popup/Blue/Alert/Background", layerDepth: DepthParameter.InterfacePopupMessageBackground); compositeSpriteTextList.Add(title); compositeSpriteTextList.Add(message); title.PositionOffset = Background.Position - new Vector2(186, 50); message.PositionOffset = Background.Position - new Vector2(186, 50 - title.ElementDimensions.Y - 5); buttonList.Add(new Button(ButtonType.Cancel, DepthParameter.InterfacePopupMessageButtons, CloseAction, PositionOffset + new Vector2(160, 65))); if (alertMessageType != AlertMessageType.Cancel) { buttonList.Add(new Button(ButtonType.Accept, DepthParameter.InterfacePopupMessageButtons, (sender) => { OnConfirm?.Invoke(sender); }, PositionOffset + new Vector2(125, 65))); } ShouldRender = true; UpdateAttatchmentPosition(); }
/// <summary> /// Must be used only on menu components. For in-game nameplate you must specify the /// attatched mobile on the other constructor /// </summary> /// <param name="player"></param> /// <param name="alignment"></param> /// <param name="position"></param> public Nameplate(Player player, Alignment alignment, Vector2 position, bool showGuild = true, float layerDepth = DepthParameter.Nameplate) { Player = player; Alignment = alignment; Position = PositionOffset = position; rankIndicator = IconBuilder.Instance.BuildPlayerRank(player.PlayerRank, layerDepth); List <SpriteText> spTL = new List <SpriteText>(); if (showGuild && player.Guild != null) { spTL.Add(new SpriteText(FontTextType.Consolas10, "[", Color.White, alignment, layerDepth, outlineColor: Color.Black)); spTL.Add(new SpriteText(FontTextType.Consolas10, player.Guild.Tag, Parameter.NameplateGuildColor, alignment, layerDepth, outlineColor: Parameter.NameplateGuildOutlineColor)); spTL.Add(new SpriteText(FontTextType.Consolas10, "] ", Color.White, alignment, layerDepth, outlineColor: Color.Black)); } PlayerColor = Message.TextToColor(player.Nickname); spTL.Add(new SpriteText(FontTextType.Consolas10, player.Nickname, PlayerColor, alignment, layerDepth, outlineColor: Color.Black)); compositeSpriteText = CompositeSpriteText.CreateCompositeSpriteText(spTL, Orientation.Horizontal, Alignment.Left, position, 0); shouldRender = true; Update(position); }
public ServerButton(GameServerInformation serverInformation, Vector2 buttonPosition, Action <object> action) : base(ButtonType.ServerListButton, DepthParameter.InterfaceButton, action, buttonPosition, default) { //Since the button elements dont update, the screencenter //must be added in order to create the right position //on the elements buttonPosition += Parameter.ScreenCenter; //Initializing Variables compositeSpriteTextList = new List <CompositeSpriteText>(); spriteList = new List <Sprite>(); flipbookList = new List <Flipbook>(); spriteTextList = new List <SpriteText>(); ServerInformation = serverInformation; //Server Background if (!serverInformation.IsOnline) { ChangeButtonState(ButtonAnimationState.Disabled); } //Server Level Indication Icons int lowerLevel = (int)serverInformation.LowerLevel; int higherLevel = (int)serverInformation.HigherLevel; Sprite lowerLevelIcon = IconBuilder.Instance.BuildServerIcon((ServerRankLimitationIcon)(lowerLevel * 2), DepthParameter.InterfaceButtonText); Sprite higherLevelIcon = IconBuilder.Instance.BuildServerIcon((ServerRankLimitationIcon)(higherLevel * 2 + 1), DepthParameter.InterfaceButtonText); Sprite avatarIcon = IconBuilder.Instance.BuildServerIcon((serverInformation.IsAvatarOn ? ServerRankLimitationIcon.AvatarOn : ServerRankLimitationIcon.AvatarOff), DepthParameter.InterfaceButtonText); lowerLevelIcon.Position = buttonPosition + new Vector2(40, -24); higherLevelIcon.Position = buttonPosition + new Vector2(68, -24); avatarIcon.Position = buttonPosition + new Vector2(96, -24); spriteList.Add(lowerLevelIcon); spriteList.Add(higherLevelIcon); spriteList.Add(avatarIcon); //Server Load Icon ServerStatusFlipbookIcon serverLoad = GetCurrentServerLoadIcon(serverInformation); Flipbook icon = new Flipbook( buttonPosition + new Vector2(130, 12), new Vector2(31, 37), 62, 58, "Interface/InGame/Scene/ServerList/ServerStatusAnimatedIcon", serverLoad.FlipbookInstance, DepthParameter.InterfaceButtonAnimatedIcon); flipbookList.Add(icon); //Server Button Texts SpriteText[] sprT = new SpriteText[2]; sprT[0] = new SpriteText(Parameter.ServerButtonFont, $"{serverInformation.ServerID}. ", Color.DarkOrange, Alignment.Left, DepthParameter.InterfaceButtonText, outlineColor: Color.Black); sprT[1] = new SpriteText(Parameter.ServerButtonFont, serverInformation.ServerName, Color.White, Alignment.Left, DepthParameter.InterfaceButtonText, outlineColor: Color.Black); compositeSpriteTextList.Add( CompositeSpriteText.CreateCompositeSpriteText(sprT.ToList(), Orientation.Horizontal, Alignment.Left, buttonPosition + new Vector2(-155, -32), 0)); sprT = new SpriteText[serverInformation.ServerDescription.Count()]; for (int i = 0; i < serverInformation.ServerDescription.Count(); i++) { sprT[i] = new SpriteText(Parameter.ServerButtonFont, serverInformation.ServerDescription[i], Color.White, Alignment.Left, DepthParameter.InterfaceButtonText, outlineColor: Color.Black); } compositeSpriteTextList.Add(CompositeSpriteText.CreateCompositeSpriteText(sprT.ToList(), Orientation.Vertical, Alignment.Left, buttonPosition + new Vector2(-155, -10), -1)); if (serverInformation.IsOnline) { spriteTextList.Add(new SpriteText(Parameter.ServerButtonFont, $"[{serverInformation.ConnectedClients}/{serverInformation.ConnectedClientCapacity}]", Color.White, Alignment.Center, DepthParameter.InterfaceButtonText, buttonPosition + new Vector2(68, -10), Color.Black)); } //Server Icon Text spriteTextList.Add(new SpriteText(Parameter.ServerButtonFont, serverLoad.IconSubtitle, Color.White, Alignment.Center, DepthParameter.InterfaceButtonText, icon.Position + new Vector2(0, 10), Color.Black)); OnBeingPressed = (sender) => { spriteTextList.ForEach((x) => x.Position += new Vector2(1, 1)); spriteList.ForEach((x) => x.Position += new Vector2(1, 1)); flipbookList.ForEach((x) => x.Position += new Vector2(1, 1)); }; OnBeingReleased = (sender) => { spriteTextList.ForEach((x) => x.Position -= new Vector2(1, 1)); spriteList.ForEach((x) => x.Position -= new Vector2(1, 1)); flipbookList.ForEach((x) => x.Position -= new Vector2(1, 1)); }; }
private RoomButton(RoomMetadata roomMetadata, Vector2 buttonPosition, Action <object> action, ButtonPreset buttonPreset) : base(ButtonType.RoomButton, DepthParameter.InterfaceButton, action, buttonPosition, buttonPreset) { spriteList = new List <Sprite>(); spriteFontList = new List <NumericSpriteFont>(); //Since the button elements dont update, the screencenter //must be added in order to create the right position //on the elements buttonPosition += Parameter.ScreenCenter; //MAP Vector2 mapCenter = buttonPosition + new Vector2(28, 11f); Sprite map = new Sprite($"Graphics/Maps/{roomMetadata.Map.GameMap}/GameListThumb{roomMetadata.Map.GameMapType}", mapCenter, DepthParameter.InterfaceButtonIcon); spriteList.Add(map); //RoomStatus int rectangleOffset = roomMetadata.IsPlaying ? 0 : (roomMetadata.IsFull ? 2 * 91 : 91); Sprite roomStatus = new Sprite("Interface/StaticButtons/GameList/Status", mapCenter - new Vector2(100, 0), DepthParameter.InterfaceButtonIcon, new Rectangle(rectangleOffset, 0, 91, 27)) { Pivot = new Vector2(91 / 2, 27 / 2) }; spriteList.Add(roomStatus); //RoomName SpriteText[] roomName = new SpriteText[2] { new SpriteText(FontTextType.Consolas11, string.Format("{0,3}", roomMetadata.ID) + " ", Color.White, Alignment.Left, DepthParameter.InterfaceButtonText), new SpriteText(FontTextType.Consolas11, roomMetadata.Name, Color.White, Alignment.Left, DepthParameter.InterfaceButtonText) }; compositeSpriteText = CompositeSpriteText.CreateCompositeSpriteText(roomName.ToList(), Orientation.Horizontal, Alignment.Left, buttonPosition - new Vector2(115, 25), 0); //SpriteFont NumericSpriteFont nsf = new NumericSpriteFont(FontType.GameListPlayerCounter, 1, DepthParameter.InterfaceButtonText, Position: buttonPosition + new Vector2(91, -24), StartingValue: roomMetadata.NumberOfPlayers, attachToCamera: false); spriteFontList.Add(nsf); NumericSpriteFont nsf2 = new NumericSpriteFont(FontType.GameListPlayerCounter, 1, DepthParameter.InterfaceButtonText, Position: buttonPosition + new Vector2(105, -24), StartingValue: (int)roomMetadata.Size, attachToCamera: false); spriteFontList.Add(nsf2); //IsPasswordProtected if (roomMetadata.HasPassword) { Sprite passwordLock = new Sprite("Interface/StaticButtons/GameList/PasswordProtected", mapCenter, DepthParameter.InterfaceButtonAnimatedIcon); spriteList.Add(passwordLock); } //HasBuddyInRoom if (HasBuddyInside(roomMetadata)) { Sprite buddy = new Sprite("Interface/StaticButtons/GameList/BuddyInside", mapCenter + new Vector2(32, 0), DepthParameter.InterfaceButtonAnimatedIcon); spriteList.Add(buddy); } }