public ProgressDialog(INativeGraphicsManager nativeGraphicsManager, IGameStateProvider gameStateProvider, IEODialogButtonService eoDialogButtonService, string messageText, string captionText) : base(gameStateProvider) { BackgroundTexture = nativeGraphicsManager.TextureFromResource(GFXTypes.PreLoginUI, 18); _messageLabel = new XNALabel(Constants.FontSize10) { AutoSize = true, ForeColor = ColorConstants.LightYellowText, Text = messageText, TextWidth = 254, DrawPosition = new Vector2(18, 57) }; _messageLabel.SetParentControl(this); _captionLabel = new XNALabel(Constants.FontSize10) { AutoSize = true, ForeColor = ColorConstants.LightYellowText, Text = captionText, DrawPosition = new Vector2(59, 23) }; _captionLabel.SetParentControl(this); _cancelButton = new XNAButton(eoDialogButtonService.SmallButtonSheet, new Vector2(181, 113), eoDialogButtonService.GetSmallDialogButtonOutSource(SmallButton.Cancel), eoDialogButtonService.GetSmallDialogButtonOverSource(SmallButton.Cancel)); _cancelButton.OnClick += DoCancel; _cancelButton.SetParentControl(this); _pbBackgroundTexture = nativeGraphicsManager.TextureFromResource(GFXTypes.PreLoginUI, 19); _pbForegroundTexture = new Texture2D(Game.GraphicsDevice, 1, _pbBackgroundTexture.Height - 2); //foreground texture is just a fill var pbForeFill = new Color[_pbForegroundTexture.Width * _pbForegroundTexture.Height]; for (int i = 0; i < pbForeFill.Length; ++i) { pbForeFill[i] = Color.FromNonPremultiplied(0xb4, 0xdc, 0xe6, 0xff); } _pbForegroundTexture.SetData(pbForeFill); CenterInGameView(); }
public CharacterInfoPanel(int characterIndex, ICharacter character, INativeGraphicsManager gfxManager, IEODialogButtonService dialogButtonService, ILoginController loginController, ICharacterManagementController characterManagementController, ICharacterRendererFactory rendererFactory, IRendererRepositoryResetter rendererRepositoryResetter) : this(characterIndex, gfxManager, dialogButtonService) { _character = character; _loginController = loginController; _characterManagementController = characterManagementController; _rendererRepositoryResetter = rendererRepositoryResetter; _characterControl = new CharacterControl(character.RenderProperties, rendererFactory) { DrawPosition = new Vector2(68, 28) }; _characterControl.SetParentControl(this); _nameLabel = new XNALabel(Constants.FontSize08pt5) { DrawArea = GetNameLabelLocation(), ForeColor = ColorConstants.BeigeText, Text = CapitalizeName(character.Name), TextAlign = LabelAlignment.MiddleCenter, AutoSize = false }; _nameLabel.SetParentControl(this); _levelLabel = new XNALabel(Constants.FontSize08pt75) { DrawArea = GetLevelLabelLocation(), ForeColor = ColorConstants.BeigeText, Text = character.Stats.Stats[CharacterStat.Level].ToString() }; _levelLabel.SetParentControl(this); _adminGraphic = CreateAdminGraphic(character.AdminLevel); }
public GameLoadingDialog(INativeGraphicsManager nativeGraphicsManager, IGameStateProvider gameStateProvider, IClientWindowSizeProvider clientWindowSizeProvider, ILocalizedStringFinder localizedStringFinder) : base(gameStateProvider) { _localizedStringFinder = localizedStringFinder; _backgroundSprite = nativeGraphicsManager.TextureFromResource(GFXTypes.PostLoginUI, 33); DrawPosition = new Vector2(clientWindowSizeProvider.Width - _backgroundSprite.Width / 4 - 10, clientWindowSizeProvider.Height - _backgroundSprite.Height - 10); SetSize(_backgroundSprite.Width / 4, _backgroundSprite.Height); _bgSrcIndex = 0; _lastBackgroundUpdate = DateTime.Now; _caption = new XNALabel(Constants.FontSize10) { AutoSize = true, Text = _localizedStringFinder.GetString(EOResourceID.LOADING_GAME_PLEASE_WAIT), ForeColor = ColorConstants.LightYellowText, DrawPosition = new Vector2(12, 9) }; _caption.SetParentControl(this); var gen = new Random(); var messageTextID = (EOResourceID)gen.Next((int)EOResourceID.LOADING_GAME_HINT_FIRST, (int)EOResourceID.LOADING_GAME_HINT_LAST); var localizedMessage = _localizedStringFinder.GetString(messageTextID); _message = new XNALabel(Constants.FontSize08) { AutoSize = true, TextWidth = 175, ForeColor = ColorConstants.MediumGrayText, Text = localizedMessage, DrawPosition = new Vector2(18, 61) }; _message.SetParentControl(this); }
public EOMessageBox(INativeGraphicsManager graphicsManager, IGameStateProvider gameStateProvider, IEODialogButtonService eoDialogButtonService, string message, string caption = "", EOMessageBoxStyle style = EOMessageBoxStyle.SmallDialogSmallHeader, EODialogButtons whichButtons = EODialogButtons.Ok) : base(gameStateProvider) { var useSmallHeader = style != EOMessageBoxStyle.SmallDialogLargeHeader; int graphic; switch (style) { case EOMessageBoxStyle.SmallDialogLargeHeader: graphic = 18; break; case EOMessageBoxStyle.SmallDialogSmallHeader: graphic = 23; break; case EOMessageBoxStyle.LargeDialogSmallHeader: graphic = 25; break; default: throw new ArgumentOutOfRangeException(nameof(style), "Unrecognized dialog style!"); } BackgroundTexture = graphicsManager.TextureFromResource(GFXTypes.PreLoginUI, graphic); _messageLabel = new XNALabel(Constants.FontSize10) { AutoSize = true, ForeColor = ColorConstants.LightYellowText, Text = message, TextWidth = 254, DrawPosition = new Vector2(18, useSmallHeader ? 40 : 57) }; _messageLabel.SetParentControl(this); _captionLabel = new XNALabel(Constants.FontSize10) { AutoSize = true, ForeColor = ColorConstants.LightYellowText, Text = caption, TextWidth = 254, DrawPosition = useSmallHeader ? new Vector2(18, 12) : new Vector2(59, 23) }; _captionLabel.SetParentControl(this); var smallButtonSheet = eoDialogButtonService.SmallButtonSheet; var okOut = eoDialogButtonService.GetSmallDialogButtonOutSource(SmallButton.Ok); var okOver = eoDialogButtonService.GetSmallDialogButtonOverSource(SmallButton.Ok); var cancelOut = eoDialogButtonService.GetSmallDialogButtonOutSource(SmallButton.Cancel); var cancelOver = eoDialogButtonService.GetSmallDialogButtonOverSource(SmallButton.Cancel); switch (whichButtons) { case EODialogButtons.Ok: _ok = new XNAButton(smallButtonSheet, new Vector2(181, 113), okOut, okOver); _ok.OnClick += (sender, e) => Close(XNADialogResult.OK); _ok.SetParentControl(this); break; case EODialogButtons.Cancel: _cancel = new XNAButton(smallButtonSheet, new Vector2(181, 113), cancelOut, cancelOver); _cancel.OnClick += (sender, e) => Close(XNADialogResult.Cancel); _cancel.SetParentControl(this); break; case EODialogButtons.OkCancel: //implement this more fully when it is needed //update draw location of ok button to be on left? _ok = new XNAButton(smallButtonSheet, new Vector2(89, 113), okOut, okOver); _ok.OnClick += (sender, e) => Close(XNADialogResult.OK); _ok.SetParentControl(this); _cancel = new XNAButton(smallButtonSheet, new Vector2(181, 113), cancelOut, cancelOver); _cancel.OnClick += (s, e) => Close(XNADialogResult.Cancel); _cancel.SetParentControl(this); break; } if (useSmallHeader) { if (_ok != null) { _ok.DrawPosition = new Vector2(_ok.DrawPosition.X, style == EOMessageBoxStyle.SmallDialogSmallHeader ? 82 : 148); } if (_cancel != null) { _cancel.DrawPosition = new Vector2(_cancel.DrawPosition.X, style == EOMessageBoxStyle.SmallDialogSmallHeader ? 82 : 148); } } CenterInGameView(); }