mirror of
https://github.com/ServUO/ServUO
synced 2026-08-11 20:23:04 -04:00
66 lines
1.7 KiB
C#
66 lines
1.7 KiB
C#
using Server.Gumps;
|
|
using Server.Prompts;
|
|
|
|
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 != System.String.Empty)
|
|
m.SendLocalizedMessage(prompt.MessageCliloc, prompt.MessageArgs, prompt.MessageHue);
|
|
|
|
m.Send(new UnicodePrompt(prompt, m));
|
|
}
|
|
}
|
|
}
|
|
|
|
public class PromptGumpStub : Gump
|
|
{
|
|
public Mobile User { get; }
|
|
|
|
public override int GetTypeID()
|
|
{
|
|
return 0x2AE;
|
|
}
|
|
|
|
public PromptGumpStub(Prompt prompt, Mobile to)
|
|
: base(0, 0)
|
|
{
|
|
User = to;
|
|
|
|
var senderSerial = prompt.Sender?.Serial ?? to.Serial;
|
|
|
|
Serial = senderSerial;
|
|
|
|
Intern("TEXTENTRY", false);
|
|
Intern(senderSerial.Value.ToString(), false);
|
|
Intern(to.Serial.Value.ToString(), false);
|
|
Intern(prompt.TypeId.ToString(), false);
|
|
Intern(prompt.MessageCliloc.ToString(), false); // TODO: Is there a way to include args here?
|
|
Intern("1", false); // 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?.NetState);
|
|
}
|
|
}
|
|
}
|