using System.Collections.Generic; using Microsoft.Xna.Framework; using ProjectZ.InGame.Controls; using ProjectZ.InGame.Interface; namespace ProjectZ.InGame.Pages { class DeleteSaveSlotPage : InterfacePage { private InterfaceListLayout _confirmLayout; public DeleteSaveSlotPage(int width, int height) { // delete save confirm { _confirmLayout = new InterfaceListLayout { Size = new Point(width, height), Selectable = true }; _confirmLayout.AddElement(new InterfaceButton(new Point(170, 36), new Point(5, 5), "main_menu_delete_confirmation_header", null) { Selectable = false }); var yesNoLayout = new InterfaceListLayout { Size = new Point(200, 30), HorizontalMode = true, Selectable = true }; yesNoLayout.AddElement(new InterfaceButton(new Point(82, 26), new Point(3, 0), "main_menu_delete_confirmation_header_yes", element => OnClickDeleteYes())); yesNoLayout.AddElement(new InterfaceButton(new Point(82, 26), new Point(3, 0), "main_menu_delete_confirmation_header_no", element => OnClickDeleteNo())); _confirmLayout.AddElement(yesNoLayout); } PageLayout = _confirmLayout; } public override void OnLoad(Dictionary intent) { base.OnLoad(intent); _confirmLayout.Deselect(false); _confirmLayout.Select(InterfaceElement.Directions.Right, false); } public override void Update(CButtons pressedButtons, GameTime gameTime) { base.Update(pressedButtons, gameTime); if (ControlHandler.ButtonPressed(CButtons.B)) Abort(); } private void OnClickDeleteYes() { var intent = new Dictionary(); intent.Add("deleteReturn", true); intent.Add("deleteSavestate", true); Game1.UiPageManager.PopPage(intent, PageManager.TransitionAnimation.Fade, PageManager.TransitionAnimation.Fade); } private void OnClickDeleteNo() { Abort(); } private void Abort() { var intent = new Dictionary(); intent.Add("deleteReturn", true); Game1.UiPageManager.PopPage(intent, PageManager.TransitionAnimation.Fade, PageManager.TransitionAnimation.Fade); } } }