Files
abysmal-isle/Server/PromptExtensions.cs
Unstable Kitsune b918192e4e Overwrite
Complete Overwrite of the Folder with the free shard. ServUO 57.3 has been added.
2023-11-28 23:20:26 -05:00

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);
}
}
}