using FarseerPhysics.SamplesFramework; using Microsoft.Xna.Framework.Graphics; using GameStateManagement; namespace Axios.Engine.UI { public class AxiosButton : AxiosUIObject { protected Texture2D _hovertexture; protected Texture2D _clicktexture; protected Texture2D _normaltexture; /// /// HoverTexture is the texture that will be set when the mouse hovers over the button /// public Texture2D HoverTexture { get { return this._hovertexture; } set { this._hovertexture = value; } } /// /// The ClickTexture is the texture that will be set when the user clicks on the button /// public Texture2D ClickTexture { get { return this._clicktexture; } set { this._clicktexture = value; } } /// /// The normal texture is the texture when the button is not active /// public Texture2D NormalTexture { get { return this._normaltexture; } set { this._normaltexture = value; this.Texture = value; } } public AxiosButton() { } public override void LoadContent(AxiosGameScreen gameScreen) { base.LoadContent(gameScreen); } public override void OnMouseHover(AxiosGameScreen gameScreen, InputState input) { base.OnMouseHover(gameScreen, input); this.Texture = _hovertexture; } public override void OnMouseLeave(AxiosGameScreen gameScreen, InputState input) { base.OnMouseLeave(gameScreen, input); this.Texture = _normaltexture; } public override void OnMouseDown(AxiosGameScreen gameScreen, InputState input) { base.OnMouseDown(gameScreen, input); this.Texture = _clicktexture; } public override void OnMouseUp(AxiosGameScreen gameScreen, InputState input) { base.OnMouseUp(gameScreen, input); this.Texture = _hovertexture; } public override void HandleCursor(AxiosGameScreen gameScreen, InputState input) { base.HandleCursor(gameScreen, input); } } }