90 lines
2.5 KiB
C#
90 lines
2.5 KiB
C#
using System;
|
|
using Server.Gumps;
|
|
using Server.Network;
|
|
|
|
namespace Server.Items
|
|
{
|
|
public class AquariumGump : Gump
|
|
{
|
|
private Aquarium m_Aquarium;
|
|
|
|
public AquariumGump( Aquarium aquarium, bool edit ) : base( 100, 100 )
|
|
{
|
|
m_Aquarium = aquarium;
|
|
|
|
Closable = true;
|
|
Disposable = true;
|
|
Dragable = true;
|
|
Resizable = false;
|
|
|
|
AddPage( 0 );
|
|
AddBackground( 0, 0, 350, 323, 0xE10 );
|
|
AddImage( 0, 0, 0x2C96 );
|
|
|
|
if ( m_Aquarium.Items.Count == 0 )
|
|
return;
|
|
|
|
for ( int i = 1; i <= m_Aquarium.Items.Count; i ++ )
|
|
DisplayPage( i, edit );
|
|
}
|
|
|
|
public void DisplayPage( int page, bool edit )
|
|
{
|
|
AddPage( page );
|
|
|
|
Item item = m_Aquarium.Items[ page - 1 ];
|
|
|
|
// item name
|
|
if ( item.LabelNumber != 0 )
|
|
AddHtmlLocalized( 20, 217, 250, 20, item.LabelNumber, 0xFFFFFF, false, false ); // Name
|
|
|
|
// item details
|
|
if ( item is BaseFish fish )
|
|
AddHtmlLocalized( 20, 239, 315, 20, fish.GetDescription(), 0xFFFFFF, false, false );
|
|
else
|
|
AddHtmlLocalized( 20, 239, 315, 20, 1073634, 0xFFFFFF, false, false ); // An aquarium decoration
|
|
|
|
// item image
|
|
AddItem( 150, 80, item.ItemID, item.Hue );
|
|
|
|
// item number / all items
|
|
AddHtml( 20, 195, 250, 20, $"<BASEFONT COLOR=#FFFFFF>{page}/{m_Aquarium.Items.Count}</BASEFONT>", false, false );
|
|
|
|
// remove item
|
|
if ( edit )
|
|
{
|
|
AddBackground( 230, 195, 100, 26, 0x13BE );
|
|
AddButton( 235, 200, 0x845, 0x846, page, GumpButtonType.Reply, 0 );
|
|
AddHtmlLocalized( 260, 198, 60, 26, 1073838, 0x0, false, false ); // Remove
|
|
}
|
|
|
|
// next page
|
|
if ( page < m_Aquarium.Items.Count )
|
|
{
|
|
AddButton( 195, 280, 0xFA5, 0xFA7, 0, GumpButtonType.Page, page + 1 );
|
|
AddHtmlLocalized( 230, 283, 100, 18, 1044045, 0xFFFFFF, false, false ); // NEXT PAGE
|
|
}
|
|
|
|
// previous page
|
|
if ( page > 1 )
|
|
{
|
|
AddButton( 45, 280, 0xFAE, 0xFAF, 0, GumpButtonType.Page, page - 1 );
|
|
AddHtmlLocalized( 80, 283, 100, 18, 1044044, 0xFFFFFF, false, false ); // PREV PAGE
|
|
}
|
|
}
|
|
|
|
public override void OnResponse( NetState sender, RelayInfo info )
|
|
{
|
|
if ( m_Aquarium == null || m_Aquarium.Deleted )
|
|
return;
|
|
|
|
bool edit = m_Aquarium.HasAccess( sender.Mobile );
|
|
|
|
if ( info.ButtonID > 0 && info.ButtonID <= m_Aquarium.Items.Count && edit )
|
|
m_Aquarium.RemoveItem( sender.Mobile, info.ButtonID - 1 );
|
|
|
|
if ( info.ButtonID > 0 )
|
|
sender.Mobile.SendGump( new AquariumGump( m_Aquarium, edit ) );
|
|
}
|
|
}
|
|
}
|