using System;
using System.Collections.Generic;
using System.Text;
using tAC_Engine.GUI;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework;
namespace tAC_Engine.GUI
{
///
/// A GUIPanel that displays a message dialog.
///
public class GUIMessageDialog : GUIPanel
{
protected GUIButton mOkayButton;
protected GUIButton mCancelButton;
protected SpriteFont font;
protected GUILabel mMessageLabel;
protected string mMessage;
public GUIMessageDialog(string message)
{
mMessage = message;
}
///
/// Initializes text input and buttons.
///
public override void Initialize()
{
mMessageLabel = new GUILabel();
mMessageLabel.Text = mMessage;
Add(mMessageLabel);
mOkayButton = new GUIButton();
mOkayButton.Text = "Okay";
mOkayButton.ButtonReleased += delegate
{
this.Remove(PanelResult.OKAY);
};
Add(mOkayButton);
mCancelButton = new GUIButton();
mCancelButton.Text = "Cancel";
mCancelButton.ButtonReleased += delegate
{
this.Remove(PanelResult.CANCEL);
};
Add(mCancelButton);
base.Initialize();
}
public override void LoadContent()
{
font = mParentScreen.Content.Load(@"Fonts\Courier New");
mOkayButton.Font = font;
mCancelButton.Font = font;
Vector2 titleSize = font.MeasureString(mMessage);
Size = new Vector2(Math.Max(titleSize.X, 200), Math.Max(titleSize.Y, 48));
Vector2 screenSize = new Vector2(mParentScreen.GraphicsDevice.PresentationParameters.BackBufferWidth,
mParentScreen.GraphicsDevice.PresentationParameters.BackBufferHeight);
Position = (screenSize - Size) / 2;
mMessageLabel.Size = new Vector2(200, 24);
mMessageLabel.Position = Position;
mOkayButton.Size = new Vector2(100, 24);
mOkayButton.Position = Position + new Vector2((Size.X / 2) - mOkayButton.Size.X, mMessageLabel.Size.Y);
mCancelButton.Size = new Vector2(100, 24);
mCancelButton.Position = Position + new Vector2(Size.X / 2, mMessageLabel.Size.Y);
base.LoadContent();
}
}
}