ModernUO/Projects/UOContent/Gumps/Guilds/GuildDeclareWarPrompt.cs
Kamron Batman 77ce2e1980
fix(core): Optimizes strings / .NET 5 compatibility changes (#354)
- [X] Removes some string allocations (e.g. split)
- [X] Optimizes some collections
- [X] Converts insensitive to extension methods of built-ins.
- [X] Adds ordinal (case sensitive) string helpers
- [X] Fixes conditionals for in-game commands so they use Ordinal comparisons.
- [X] Replaces ToLower.Contains with InsensitiveContains
- [X] Adds ValueStringBuilder
- [X] Implements ValueStringBuilder in a few places where it makes sense
- [X] Removes the redundant Wrap function and replaces it with an optimized version
- [X] Fixes list conversions in Utility

Closes #351

Bumps release version
2020-12-20 23:21:55 -08:00

60 lines
1.6 KiB
C#

using System.Linq;
using Server.Guilds;
using Server.Prompts;
namespace Server.Gumps
{
public class GuildDeclareWarPrompt : Prompt
{
private readonly Guild m_Guild;
private readonly Mobile m_Mobile;
public GuildDeclareWarPrompt(Mobile m, Guild g)
{
m_Mobile = m;
m_Guild = g;
}
public override void OnCancel(Mobile from)
{
if (GuildGump.BadLeader(m_Mobile, m_Guild))
{
return;
}
GuildGump.EnsureClosed(m_Mobile);
m_Mobile.SendGump(new GuildWarAdminGump(m_Mobile, m_Guild));
}
public override void OnResponse(Mobile from, string text)
{
if (GuildGump.BadLeader(m_Mobile, m_Guild))
{
return;
}
text = text.Trim();
if (text.Length >= 3)
{
var guilds = BaseGuild.Search(text).SafeConvertList<BaseGuild, Guild>();
GuildGump.EnsureClosed(m_Mobile);
if (guilds.Count > 0)
{
m_Mobile.SendGump(new GuildDeclareWarGump(m_Mobile, m_Guild, guilds));
}
else
{
m_Mobile.SendGump(new GuildWarAdminGump(m_Mobile, m_Guild));
m_Mobile.SendLocalizedMessage(1018003); // No guilds found matching - try another name in the search
}
}
else
{
m_Mobile.SendMessage("Search string must be at least three letters in length.");
}
}
}
}