Overwrite
Complete Overwrite of the Folder with the free shard. ServUO 57.3 has been added.
This commit is contained in:
201
Scripts/Services/Town Cryer/Gumps/CreateGreetingEntryGump.cs
Normal file
201
Scripts/Services/Town Cryer/Gumps/CreateGreetingEntryGump.cs
Normal file
@@ -0,0 +1,201 @@
|
||||
using Server;
|
||||
using System;
|
||||
using Server.Mobiles;
|
||||
using Server.Gumps;
|
||||
|
||||
namespace Server.Services.TownCryer
|
||||
{
|
||||
public class CreateGreetingEntryGump : BaseTownCryerGump
|
||||
{
|
||||
public TownCryerGreetingEntry Entry { get; set; }
|
||||
public bool Edit { get; private set; }
|
||||
|
||||
public CreateGreetingEntryGump(PlayerMobile pm, TownCrier cryer, TownCryerGreetingEntry entry = null)
|
||||
: base(pm, cryer)
|
||||
{
|
||||
Entry = entry;
|
||||
|
||||
if (Entry != null)
|
||||
{
|
||||
Edit = true;
|
||||
|
||||
_Headline = Entry.Title != null ? Entry.Title.String : String.Empty;
|
||||
_Body = Entry.Body1 != null ? Entry.Body1.String : String.Empty;
|
||||
_Body2 = Entry.Body2 != null ? Entry.Body2 : String.Empty;
|
||||
_Body3 = Entry.Body3 != null ? Entry.Body3 : String.Empty;
|
||||
|
||||
_Link = Entry.Link;
|
||||
_LinkText = Entry.LinkText;
|
||||
}
|
||||
}
|
||||
|
||||
public override void AddGumpLayout()
|
||||
{
|
||||
base.AddGumpLayout();
|
||||
|
||||
AddHtmlLocalized(58, 140, 100, 20, 1158027, false, false); // Author:
|
||||
AddLabel(105, 140, 0, String.Format("{1} {0}", User.Name, User.AccessLevel.ToString()));
|
||||
|
||||
AddHtmlLocalized(58, 160, 100, 20, 1158026, false, false); // Headline:
|
||||
AddBackground(58, 180, 740, 20, 0x2486);
|
||||
AddTextEntry(59, 180, 739, 20, 0, 1, Entry != null ? Entry.Title.ToString() : _Headline);
|
||||
|
||||
AddHtmlLocalized(58, 200, 120, 20, 1158028, false, false); // Body Paragraph 1:
|
||||
AddBackground(58, 220, 740, 40, 0x2486);
|
||||
AddTextEntry(59, 220, 739, 40, 0, 2, _Body);
|
||||
|
||||
AddHtmlLocalized(58, 270, 120, 20, 1158029, false, false); // Body Paragraph 2:
|
||||
AddBackground(58, 290, 740, 40, 0x2486);
|
||||
AddTextEntry(59, 290, 739, 40, 0, 3, _Body2);
|
||||
|
||||
AddHtmlLocalized(58, 340, 120, 20, 1158030, false, false); // Body Paragraph 3:
|
||||
AddBackground(58, 360, 740, 40, 0x2486);
|
||||
AddTextEntry(59, 360, 739, 40, 0, 4, _Body3);
|
||||
|
||||
AddHtml(58, 410, 250, 20, "Link:", false, false);
|
||||
AddBackground(58, 430, 740, 40, 0x2486);
|
||||
AddTextEntry(59, 430, 739, 40, 0, 5, _Link);
|
||||
|
||||
AddHtml(58, 480, 250, 20, "Link Text:", false, false);
|
||||
AddBackground(58, 500, 740, 40, 0x2486);
|
||||
AddTextEntry(59, 500, 739, 40, 0, 6, _LinkText);
|
||||
|
||||
if (!Edit)
|
||||
{
|
||||
AddBackground(155, 550, 20, 20, 0x2486);
|
||||
AddHtmlLocalized(58, 550, 100, 20, 1158031, false, false); // Expiry (in days):
|
||||
AddTextEntry(156, 550, 19, 20, 0, 7, _Expires);
|
||||
}
|
||||
|
||||
AddButton(40, 615, 0x601, 0x602, 1, GumpButtonType.Reply, 0);
|
||||
AddHtmlLocalized(63, 615, 150, 20, 1077787, false, false); // Submit
|
||||
}
|
||||
|
||||
private void HandleText(RelayInfo info)
|
||||
{
|
||||
TextRelay relay = info.GetTextEntry(1);
|
||||
|
||||
if (relay != null && !string.IsNullOrEmpty(relay.Text))
|
||||
{
|
||||
_Headline = relay.Text.Trim();
|
||||
}
|
||||
|
||||
relay = info.GetTextEntry(2);
|
||||
|
||||
if (relay != null && !string.IsNullOrEmpty(relay.Text))
|
||||
{
|
||||
_Body = relay.Text.Trim();
|
||||
}
|
||||
|
||||
relay = info.GetTextEntry(3);
|
||||
|
||||
if (relay != null && !string.IsNullOrEmpty(relay.Text))
|
||||
{
|
||||
_Body2 = relay.Text.Trim();
|
||||
}
|
||||
|
||||
relay = info.GetTextEntry(4);
|
||||
|
||||
if (relay != null && !string.IsNullOrEmpty(relay.Text))
|
||||
{
|
||||
_Body3 = relay.Text.Trim();
|
||||
}
|
||||
|
||||
relay = info.GetTextEntry(5);
|
||||
|
||||
if (relay != null && !string.IsNullOrEmpty(relay.Text))
|
||||
{
|
||||
_Link = relay.Text.Trim();
|
||||
}
|
||||
|
||||
relay = info.GetTextEntry(6);
|
||||
|
||||
if (relay != null && !string.IsNullOrEmpty(relay.Text))
|
||||
{
|
||||
_LinkText = relay.Text.Trim();
|
||||
}
|
||||
|
||||
relay = info.GetTextEntry(7);
|
||||
|
||||
if (relay != null && !string.IsNullOrEmpty(relay.Text))
|
||||
{
|
||||
_Expires = relay.Text.Trim();
|
||||
}
|
||||
}
|
||||
|
||||
private string _Headline;
|
||||
private string _Body;
|
||||
private string _Body2;
|
||||
private string _Body3;
|
||||
private string _Expires;
|
||||
private string _Link;
|
||||
private string _LinkText;
|
||||
|
||||
public override void OnResponse(RelayInfo info)
|
||||
{
|
||||
if (info.ButtonID == 1)
|
||||
{
|
||||
HandleText(info);
|
||||
|
||||
var headline = _Headline;
|
||||
var body = _Body;
|
||||
var body2 = _Body2;
|
||||
var body3 = _Body3;
|
||||
var exp = _Expires;
|
||||
var link = _Link;
|
||||
var linkText = _LinkText;
|
||||
|
||||
int expires = -1;
|
||||
|
||||
if (!String.IsNullOrEmpty(exp))
|
||||
{
|
||||
expires = Utility.ToInt32(exp);
|
||||
}
|
||||
|
||||
if (Entry == null)
|
||||
{
|
||||
Entry = new TownCryerGreetingEntry(headline, body, body2, body3, expires, link, linkText, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
Entry.Title = headline;
|
||||
Entry.Body1 = body;
|
||||
Entry.Body2 = body2;
|
||||
Entry.Body3 = body3;
|
||||
Entry.Link = link;
|
||||
Entry.LinkText = linkText;
|
||||
|
||||
if (expires >= 1 && expires <= 30)
|
||||
{
|
||||
Entry.Expires = DateTime.Now + TimeSpan.FromDays(expires);
|
||||
}
|
||||
}
|
||||
|
||||
if(!Edit && (expires < 1 || expires > 30))
|
||||
{
|
||||
User.SendLocalizedMessage(1158033); // The expiry can be between 1 and 30 days. Please check your entry and try again.
|
||||
}
|
||||
else if (string.IsNullOrEmpty(headline) || string.IsNullOrEmpty(body) || headline.Length < 5 || body.Length < 5)
|
||||
{
|
||||
User.SendLocalizedMessage(1158032); // You have made an illegal entry. Check your entries and try again.
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!Edit)
|
||||
{
|
||||
TownCryerSystem.AddEntry(Entry);
|
||||
User.SendLocalizedMessage(1158039); // Your entry has been submitted.
|
||||
}
|
||||
else
|
||||
{
|
||||
User.SendMessage("Your edited entry has been submitted.");
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
Refresh();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user