RunUO/Scripts/Engines/InnRooms/InnRoomManagementGump.cs

82 lines
3.3 KiB
C#

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, "<CENTER><BASEFONT COLOR=#FFFFFF>Room Management</BASEFONT></CENTER>", false, false);
// --- STORAGE STATS ---
AddHtml(40, 60, 150, 20, "<BASEFONT COLOR=#FCCA03>Lockdowns:</BASEFONT>", false, false);
AddHtml(150, 60, 200, 20, $"<BASEFONT COLOR=#FFFFFF>{m_House.LockDownCount} / {m_House.MaxLockDowns}</BASEFONT>", false, false);
AddHtml(40, 90, 150, 20, "<BASEFONT COLOR=#FCCA03>Secures:</BASEFONT>", false, false);
AddHtml(150, 90, 200, 20, $"<BASEFONT COLOR=#FFFFFF>{m_House.SecureCount} / {m_House.MaxSecures}</BASEFONT>", false, false);
// --- RENT INFO ---
AddHtml(40, 140, 150, 20, "<BASEFONT COLOR=#FCCA03>Rent Expires:</BASEFONT>", false, false);
AddHtml(150, 140, 200, 20, $"<BASEFONT COLOR=#FFFFFF>{m_House.RentExpires.ToString("g")}</BASEFONT>", false, false);
// --- ACTIONS ---
// Auto-Renew Status Placeholder (We will wire this up next!)
AddHtml(40, 190, 250, 20, "<BASEFONT COLOR=#777777>Auto-Renew: Disabled</BASEFONT>", false, false);
// Cancel Button
AddHtml(75, 280, 250, 20, "<BASEFONT COLOR=#FF0000>Cancel Rental Contract</BASEFONT>", 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, "<CENTER><BASEFONT COLOR=#FFFFFF>Cancel Room Rental?</BASEFONT></CENTER>", false, false);
AddHtml(20, 50, 260, 40, "<BASEFONT COLOR=#FFFFFF>This will instantly pack your items into your bank and evict you.</BASEFONT>", false, false);
AddButton(40, 100, 4005, 4007, 1, GumpButtonType.Reply, 0);
AddHtml(75, 100, 100, 20, "<BASEFONT COLOR=#FFFFFF>Confirm</BASEFONT>", false, false);
AddButton(160, 100, 4005, 4007, 0, GumpButtonType.Reply, 0);
AddHtml(195, 100, 100, 20, "<BASEFONT COLOR=#FFFFFF>Cancel</BASEFONT>", false, false);
}
public override void OnResponse(NetState sender, RelayInfo info)
{
if (info.ButtonID == 1 && m_House != null && !m_House.Deleted)
{
m_House.Evict();
}
}
}
}