public UIChatPanel(VM vm, UILotControl owner) { this.vm = vm; this.Owner = owner; if (FSOEnvironment.SoftwareKeyboard) { //need a button to initiate chat history var btn = new UIButton(); btn.Caption = "Chat"; btn.Position = new Vector2(10, 10); btn.OnButtonClick += (state) => { HistoryDialog.Visible = !HistoryDialog.Visible; }; Add(btn); } Style = TextStyle.DefaultTitle.Clone(); Style.Size = 16; Style.Shadow = true; Labels = new List<UIChatBalloon>(); TextBox = new UITextBox(); TextBox.Visible = false; Add(TextBox); TextBox.Position = new Vector2(25, 25); TextBox.SetSize(GlobalSettings.Default.GraphicsWidth - 50, 25); TextBox.OnEnterPress += SendMessageElem; SelectionFillColor = new Color(0, 25, 70); //-- populate invalid areas -- //chat bubbles will be pushed out of these areas //when this happens, they will also begin displaying the name of the speaking avatar. InvalidAreas = new List<Rectangle>(); InvalidAreas.Add(new Rectangle(-100000, -100000, 100020, 200000 + GlobalSettings.Default.GraphicsHeight)); //left InvalidAreas.Add(new Rectangle(-100000, -100000, 200000 + GlobalSettings.Default.GraphicsWidth, 100020)); //top InvalidAreas.Add(new Rectangle(GlobalSettings.Default.GraphicsWidth-20, -100000, 100020, 200000 + GlobalSettings.Default.GraphicsHeight)); //right InvalidAreas.Add(new Rectangle(-100000, GlobalSettings.Default.GraphicsHeight - 20, 200000 +GlobalSettings.Default.GraphicsWidth, 100020)); //bottom InvalidAreas.Add(new Rectangle(-100000, GlobalSettings.Default.GraphicsHeight - 230, 100230, 100230)); //ucp HistoryDialog = new UIChatDialog(); HistoryDialog.Position = new Vector2(20, 20); HistoryDialog.Visible = false; HistoryDialog.Opacity = 0.75f; HistoryDialog.OnSendMessage += SendMessage; this.Add(HistoryDialog); PropertyLog = new UIPropertyLog(); PropertyLog.Position = new Vector2(400, 20); PropertyLog.Visible = false; PropertyLog.Opacity = 0.75f; this.Add(PropertyLog); }
public UIChatPanel(VM vm, UILotControl owner) { this.vm = vm; this.Owner = owner; Style = TextStyle.DefaultTitle.Clone(); Style.Size = 16; Style.Shadow = true; Labels = new List<UILabel>(); TextBox = new UITextBox(); TextBox.Visible = false; Add(TextBox); TextBox.Position = new Vector2(25, 25); TextBox.SetSize(GlobalSettings.Default.GraphicsWidth - 50, 25); TextBox.OnEnterPress += SendMessage; SelectionFillColor = new Color(0, 25, 70); }
public UIAlert(UIAlertOptions options) : base(UIDialogStyle.Standard, true) { this.m_Options = options; this.Caption = options.Title; this.Opacity = 0.9f; m_TextStyle = TextStyle.DefaultLabel.Clone(); m_TextStyle.Size = options.TextSize; Icon = new UIImage(); Icon.Position = new Vector2(32, 32); Icon.SetSize(0, 0); Add(Icon); /** Determine the size **/ ComputeText(); if (options.ProgressBar) { _ProgressBar = new UIProgressBar(); _ProgressBar.Mode = ProgressBarMode.Animated; _ProgressBar.Position = new Microsoft.Xna.Framework.Vector2(32, 0); _ProgressBar.SetSize(options.Width - 64, 26); this.Add(_ProgressBar); } /** Add buttons **/ Buttons = new List <UIButton>(); foreach (var button in options.Buttons) { string buttonText = ""; if (button.Text != null) { buttonText = button.Text; } else { switch (button.Type) { case UIAlertButtonType.OK: buttonText = GameFacade.Strings.GetString("142", "ok button"); break; case UIAlertButtonType.Yes: buttonText = GameFacade.Strings.GetString("142", "yes button"); break; case UIAlertButtonType.No: buttonText = GameFacade.Strings.GetString("142", "no button"); break; case UIAlertButtonType.Cancel: buttonText = GameFacade.Strings.GetString("142", "cancel button"); break; } } var btnElem = AddButton(buttonText, button.Type, button.Handler == null); Buttons.Add(btnElem); if (button.Handler != null) { btnElem.OnButtonClick += button.Handler; } } if (options.TextEntry) { TextBox = new UITextBox(); TextBox.MaxChars = options.MaxChars; this.Add(TextBox); } if (options.Color) { ColorEntry = new UIColorPicker(); Add(ColorEntry); } /** Position buttons **/ RefreshSize(); }
public UIAlert(UIAlertOptions options) : base(UIDialogStyle.Standard, true) { this.m_Options = options; this.Caption = options.Title; this.Opacity = 0.9f; m_TextStyle = TextStyle.DefaultLabel.Clone(); m_TextStyle.Size = options.TextSize; Icon = new UIImage(); Icon.Position = new Vector2(32, 32); Icon.SetSize(0, 0); Add(Icon); /** Determine the size **/ ComputeText(); /** Add buttons **/ Buttons = new List<UIButton>(); foreach (var button in options.Buttons) { string buttonText = ""; if (button.Text != null) buttonText = button.Text; else { switch (button.Type) { case UIAlertButtonType.OK: buttonText = GameFacade.Strings.GetString("142", "ok button"); break; case UIAlertButtonType.Yes: buttonText = GameFacade.Strings.GetString("142", "yes button"); break; case UIAlertButtonType.No: buttonText = GameFacade.Strings.GetString("142", "no button"); break; case UIAlertButtonType.Cancel: buttonText = GameFacade.Strings.GetString("142", "cancel button"); break; } } var btnElem = AddButton(buttonText, button.Type, button.Handler == null); Buttons.Add(btnElem); if (button.Handler != null) btnElem.OnButtonClick += button.Handler; } if (options.TextEntry) { TextBox = new UITextBox(); this.Add(TextBox); } /** Position buttons **/ RefreshSize(); }