82 lines
2.2 KiB
C#
82 lines
2.2 KiB
C#
#region Header
|
|
// **************************************\
|
|
// _ _ _ __ ___ _ _ ___ |
|
|
// |# |# |# |## |### |# |# |### |
|
|
// |# |# |# |# |# |# |# |# |# |
|
|
// |# |# |# |# |# |# |# |# |# |
|
|
// _|# |#__|# _|# |# |#__|# |#__|# |
|
|
// |## |## |## |# |## |### |
|
|
// [http://www.playuo.org] |
|
|
// **************************************/
|
|
// [2014] QuestArrow.cs
|
|
// ************************************/
|
|
#endregion
|
|
|
|
using System;
|
|
using Server.Prompts;
|
|
using Server.Gumps;
|
|
|
|
namespace Server.Network
|
|
{
|
|
public static class PromptExtensions
|
|
{
|
|
public static void SendTo( this Prompt prompt, Mobile m )
|
|
{
|
|
if (m.NetState != null && m.NetState.IsEnhancedClient)
|
|
{
|
|
m.Send( new PromptGumpStub( prompt, m ).GetPacket() );
|
|
}
|
|
else
|
|
{
|
|
if ( prompt.MessageCliloc != 1042971 || prompt.MessageArgs != String.Empty )
|
|
m.SendLocalizedMessage( prompt.MessageCliloc, prompt.MessageArgs, prompt.MessageHue );
|
|
|
|
m.Send( new UnicodePrompt( prompt, m ) );
|
|
}
|
|
}
|
|
}
|
|
|
|
public class PromptGumpStub : Gump
|
|
{
|
|
public Mobile User { get; private set; }
|
|
|
|
public override int GetTypeID()
|
|
{
|
|
return 0x2AE;
|
|
}
|
|
|
|
public PromptGumpStub( Prompt prompt, Mobile to )
|
|
: base( 0, 0 )
|
|
{
|
|
User = to;
|
|
|
|
Serial senderSerial = prompt.Sender != null ? prompt.Sender.Serial : to.Serial;
|
|
|
|
Serial = senderSerial;
|
|
|
|
Intern( "TEXTENTRY" );
|
|
Intern( senderSerial.Value.ToString() );
|
|
Intern( to.Serial.Value.ToString() );
|
|
Intern( prompt.TypeId.ToString() );
|
|
Intern( prompt.MessageCliloc.ToString() ); // TODO: Is there a way to include args here?
|
|
Intern( "1" ); // 0 = Ascii response, 1 = Unicode Response
|
|
|
|
AddBackground( 50, 50, 540, 350, 0xA28 );
|
|
|
|
AddPage( 0 );
|
|
|
|
AddHtmlLocalized( 264, 80, 200, 24, 1062524, false, false );
|
|
AddHtmlLocalized( 120, 108, 420, 48, 1062638, false, false );
|
|
AddBackground( 100, 148, 440, 200, 0xDAC );
|
|
AddTextEntryIntern( 120, 168, 400, 200, 0x0, 44, 0 );
|
|
AddButton( 175, 355, 0x81A, 0x81B, 1, GumpButtonType.Reply, 0 );
|
|
AddButton( 405, 355, 0x819, 0x818, 0, GumpButtonType.Reply, 0 );
|
|
}
|
|
|
|
public Packet GetPacket()
|
|
{
|
|
return GetPacketFor(User != null ? User.NetState : null);
|
|
}
|
|
}
|
|
}
|