public override void OnResponse( NetState sender, RelayInfo info )
{
Mobile from = sender.Mobile;
if ( !m_Vendor.CanInteractWith( from, true ) )
return;
switch ( info.ButtonID )
{
case 0: // CLOSE
{
m_Vendor.Direction = m_Vendor.GetDirectionTo( from );
m_Vendor.Animate( 32, 5, 1, true, false, 0 ); // bow
m_Vendor.SayTo( from, 1043310 + Utility.Random( 12 ) ); // a little random speech
break;
}
case 1: // Female/Male
{
if ( m_Vendor.Female )
{
m_Vendor.BodyValue = 400;
m_Vendor.Female = false;
}
else
{
m_Vendor.BodyValue = 401;
m_Vendor.Female = true;
m_Vendor.FacialHairItemID = 0;
}
from.SendGump( new NewPlayerVendorCustomizeGump( m_Vendor ) );
break;
}
case 2: // Remove hair
{
m_Vendor.HairItemID = 0;
from.SendGump( new NewPlayerVendorCustomizeGump( m_Vendor ) );
break;
}
case 3: // Color hair
{
if ( m_Vendor.HairItemID > 0 )
{
new PVHuePicker( m_Vendor, false, from ).SendTo( from.NetState );
}
else
{
from.SendGump( new NewPlayerVendorCustomizeGump( m_Vendor ) );
}
break;
}
case 4: // Remove beard
{
m_Vendor.FacialHairItemID = 0;
from.SendGump( new NewPlayerVendorCustomizeGump( m_Vendor ) );
break;
}
case 5: // Color beard
{
if ( m_Vendor.FacialHairItemID > 0 )
{
new PVHuePicker( m_Vendor, true, from ).SendTo( from.NetState );
}
else
{
from.SendGump( new NewPlayerVendorCustomizeGump( m_Vendor ) );
}
break;
}
default:
{
int hairhue = 0;
if ( (info.ButtonID & 0x100) != 0 ) // Hair style selected
{
int index = info.ButtonID & 0xFF;
if ( index >= m_HairStyles.Length )
return;
HairOrBeard hairStyle = m_HairStyles[index];
hairhue = m_Vendor.HairHue;
m_Vendor.HairItemID = 0;
m_Vendor.ProcessDelta();
m_Vendor.HairItemID = hairStyle.ItemID;
m_Vendor.HairHue = hairhue;
from.SendGump( new NewPlayerVendorCustomizeGump( m_Vendor ) );
}
else if ( (info.ButtonID & 0x200) != 0 ) // Beard style selected
{
if ( m_Vendor.Female )
return;
int index = info.ButtonID & 0xFF;
if ( index >= m_BeardStyles.Length )
return;
HairOrBeard beardStyle = m_BeardStyles[index];
hairhue = m_Vendor.FacialHairHue;
m_Vendor.FacialHairItemID = 0;
m_Vendor.ProcessDelta();
m_Vendor.FacialHairItemID = beardStyle.ItemID;
m_Vendor.FacialHairHue = hairhue;
from.SendGump( new NewPlayerVendorCustomizeGump( m_Vendor ) );
}
break;
}
}
}