fix(core): Fixes type caching & cleanup (#422)
- [X] Fixes some issues with the type caching - [X] Changes type check default to ignore case - [X] Splits out type caching of insensitive and sensitive lists. This means less stuff to iterate through when checking a type against the string. - [X] Adds an ArrayEnumerator, mostly for reference purposes (copy/paste as needed)
This commit is contained in:
parent
b921c38879
commit
e869c105d0
35 changed files with 253 additions and 96 deletions
|
|
@ -101,7 +101,7 @@ namespace Server.Engines.MLQuests.Items
|
|||
|
||||
if (typeName != null)
|
||||
{
|
||||
m_QuestType = AssemblyHandler.FindFirstTypeForName(typeName);
|
||||
m_QuestType = AssemblyHandler.FindTypeByFullName(typeName);
|
||||
}
|
||||
|
||||
Message = TextDefinition.Deserialize(reader);
|
||||
|
|
@ -195,7 +195,7 @@ namespace Server.Engines.MLQuests.Items
|
|||
|
||||
writer.Write(0); // version
|
||||
|
||||
writer.Write(m_TicketType != null ? m_TicketType.FullName : null);
|
||||
writer.Write( m_TicketType?.FullName);
|
||||
TextDefinition.Serialize(writer, Message);
|
||||
}
|
||||
|
||||
|
|
@ -209,7 +209,7 @@ namespace Server.Engines.MLQuests.Items
|
|||
|
||||
if (typeName != null)
|
||||
{
|
||||
m_TicketType = AssemblyHandler.FindFirstTypeForName(typeName);
|
||||
m_TicketType = AssemblyHandler.FindTypeByFullName(typeName);
|
||||
}
|
||||
|
||||
Message = TextDefinition.Deserialize(reader);
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ namespace Server.Engines.MLQuests
|
|||
|
||||
var split = line.Split('\t');
|
||||
|
||||
var type = AssemblyHandler.FindFirstTypeForName(split[0]);
|
||||
var type = AssemblyHandler.FindTypeByName(split[0]);
|
||||
|
||||
if (type == null || !baseQuestType.IsAssignableFrom(type))
|
||||
{
|
||||
|
|
@ -87,7 +87,7 @@ namespace Server.Engines.MLQuests
|
|||
|
||||
for (var i = 1; i < split.Length; ++i)
|
||||
{
|
||||
var questerType = AssemblyHandler.FindFirstTypeForName(split[i]);
|
||||
var questerType = AssemblyHandler.FindTypeByName(split[i]);
|
||||
|
||||
if (questerType == null || !baseQuesterType.IsAssignableFrom(questerType))
|
||||
{
|
||||
|
|
@ -190,7 +190,7 @@ namespace Server.Engines.MLQuests
|
|||
return;
|
||||
}
|
||||
|
||||
var index = AssemblyHandler.FindFirstTypeForName(e.GetString(0));
|
||||
var index = AssemblyHandler.FindTypeByName(e.GetString(0));
|
||||
|
||||
if (index == null || !Quests.TryGetValue(index, out var quest))
|
||||
{
|
||||
|
|
@ -216,7 +216,7 @@ namespace Server.Engines.MLQuests
|
|||
return;
|
||||
}
|
||||
|
||||
var index = AssemblyHandler.FindFirstTypeForName(e.GetString(0));
|
||||
var index = AssemblyHandler.FindTypeByName(e.GetString(0));
|
||||
|
||||
if (index == null || !Quests.TryGetValue(index, out var quest))
|
||||
{
|
||||
|
|
@ -773,7 +773,7 @@ namespace Server.Engines.MLQuests
|
|||
return null; // not serialized
|
||||
}
|
||||
|
||||
var questType = AssemblyHandler.FindFirstTypeForName(typeName);
|
||||
var questType = AssemblyHandler.FindTypeByFullName(typeName);
|
||||
|
||||
if (questType == null)
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue