using System; using Server; using Server.Gumps; using Server.Mobiles; using Server.Network; using Server.Multis; namespace Server.Custom.InnRooms { public class InnRoomManagementGump : Gump { private PlayerMobile m_Player; private InnRoomHouse m_House; public InnRoomManagementGump(PlayerMobile pm, InnRoomHouse house) : base(150, 150) { m_Player = pm; m_House = house; AddPage(0); AddBackground(0, 0, 400, 350, 9270); AddHtml(0, 15, 400, 20, "
Room Management
", false, false); // --- STORAGE STATS --- AddHtml(40, 60, 150, 20, "Lockdowns:", false, false); AddHtml(150, 60, 200, 20, $"{m_House.LockDownCount} / {m_House.MaxLockDowns}", false, false); AddHtml(40, 90, 150, 20, "Secures:", false, false); AddHtml(150, 90, 200, 20, $"{m_House.SecureCount} / {m_House.MaxSecures}", false, false); // --- RENT INFO --- AddHtml(40, 140, 150, 20, "Rent Expires:", false, false); AddHtml(150, 140, 200, 20, $"{m_House.RentExpires.ToString("g")}", false, false); // --- ACTIONS --- // Auto-Renew Status Placeholder (We will wire this up next!) AddHtml(40, 190, 250, 20, "Auto-Renew: Disabled", false, false); // Cancel Button AddHtml(75, 280, 250, 20, "Cancel Rental Contract", false, false); AddButton(40, 280, 4005, 4007, 1, GumpButtonType.Reply, 0); } public override void OnResponse(NetState sender, RelayInfo info) { if (info.ButtonID == 1 && m_House != null && !m_House.Deleted) { m_Player.SendGump(new CancelRentGump(m_House)); } } } // --- CANCELLATION CONFIRMATION GUMP --- public class CancelRentGump : Gump { private InnRoomHouse m_House; public CancelRentGump(InnRoomHouse house) : base(200, 200) { m_House = house; AddPage(0); AddBackground(0, 0, 300, 150, 9270); AddHtml(0, 15, 300, 20, "
Cancel Room Rental?
", false, false); AddHtml(20, 50, 260, 40, "This will instantly pack your items into your bank and evict you.", false, false); AddButton(40, 100, 4005, 4007, 1, GumpButtonType.Reply, 0); AddHtml(75, 100, 100, 20, "Confirm", false, false); AddButton(160, 100, 4005, 4007, 0, GumpButtonType.Reply, 0); AddHtml(195, 100, 100, 20, "Cancel", false, false); } public override void OnResponse(NetState sender, RelayInfo info) { if (info.ButtonID == 1 && m_House != null && !m_House.Deleted) { m_House.Evict(); } } } }