99 lines
2.4 KiB
C#
99 lines
2.4 KiB
C#
#region References
|
|
using Server.Items;
|
|
using Server.Network;
|
|
#endregion
|
|
|
|
namespace Server.Gumps
|
|
{
|
|
public class DawnsMusicBoxGump : Gump
|
|
{
|
|
private readonly DawnsMusicBox m_Box;
|
|
|
|
public DawnsMusicBoxGump(DawnsMusicBox box)
|
|
: base(60, 36)
|
|
{
|
|
m_Box = box;
|
|
|
|
AddPage(0);
|
|
|
|
AddBackground(0, 0, 273, 324, 0x13BE);
|
|
AddImageTiled(10, 10, 253, 20, 0xA40);
|
|
AddImageTiled(10, 40, 253, 244, 0xA40);
|
|
AddImageTiled(10, 294, 253, 20, 0xA40);
|
|
AddAlphaRegion(10, 10, 253, 304);
|
|
AddButton(10, 294, 0xFB1, 0xFB2, 0, GumpButtonType.Reply, 0);
|
|
AddHtmlLocalized(45, 296, 450, 20, 1060051, 0x7FFF, false, false); // CANCEL
|
|
AddHtmlLocalized(14, 12, 273, 20, 1075130, 0x7FFF, false, false); // Choose a track to play
|
|
|
|
int page = 1;
|
|
int i, y = 49;
|
|
|
|
AddPage(page);
|
|
|
|
for (i = 0; i < m_Box.Tracks.Count; i++, y += 24)
|
|
{
|
|
DawnsMusicInfo info = DawnsMusicBox.GetInfo(m_Box.Tracks[i]);
|
|
|
|
if (i > 0 && i % 10 == 0)
|
|
{
|
|
AddButton(228, 294, 0xFA5, 0xFA6, 0, GumpButtonType.Page, page + 1);
|
|
|
|
AddPage(page + 1);
|
|
y = 49;
|
|
|
|
AddButton(193, 294, 0xFAE, 0xFAF, 0, GumpButtonType.Page, page);
|
|
|
|
page++;
|
|
}
|
|
|
|
if (info == null)
|
|
{
|
|
continue;
|
|
}
|
|
|
|
AddButton(19, y, 0x845, 0x846, 100 + i, GumpButtonType.Reply, 0);
|
|
AddHtmlLocalized(44, y - 2, 213, 20, info.Name, 0x7FFF, false, false);
|
|
}
|
|
|
|
if (i % 10 == 0)
|
|
{
|
|
AddButton(228, 294, 0xFA5, 0xFA6, 0, GumpButtonType.Page, page + 1);
|
|
|
|
AddPage(page + 1);
|
|
y = 49;
|
|
|
|
AddButton(193, 294, 0xFAE, 0xFAF, 0, GumpButtonType.Page, page);
|
|
}
|
|
|
|
AddButton(19, y, 0x845, 0x846, 1, GumpButtonType.Reply, 0);
|
|
AddHtmlLocalized(44, y - 2, 213, 20, 1075207, 0x7FFF, false, false); // Stop Song
|
|
}
|
|
|
|
public override void OnResponse(NetState sender, RelayInfo info)
|
|
{
|
|
if (m_Box == null || m_Box.Deleted)
|
|
{
|
|
return;
|
|
}
|
|
|
|
Mobile m = sender.Mobile;
|
|
|
|
if (!m_Box.IsChildOf(m.Backpack) && !m_Box.IsLockedDown)
|
|
{
|
|
m.SendLocalizedMessage(1061856); // You must have the item in your backpack or locked down in order to use it.
|
|
}
|
|
else if (m_Box.IsLockedDown && !m_Box.HasAccces(m))
|
|
{
|
|
m.SendLocalizedMessage(502691); // You must be the owner to use this.
|
|
}
|
|
else if (info.ButtonID == 1)
|
|
{
|
|
m_Box.EndMusic(m);
|
|
}
|
|
else if (info.ButtonID >= 100 && info.ButtonID - 100 < m_Box.Tracks.Count)
|
|
{
|
|
m_Box.PlayMusic(m, m_Box.Tracks[info.ButtonID - 100]);
|
|
}
|
|
}
|
|
}
|
|
} |