Reorganizes Project (#41)
This commit is contained in:
parent
08bf44af9a
commit
3614a66aee
3499 changed files with 79 additions and 55 deletions
63
Projects/Scripts/Engines/MLQuests/MLQuestPersistence.cs
Normal file
63
Projects/Scripts/Engines/MLQuests/MLQuestPersistence.cs
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
namespace Server.Engines.MLQuests
|
||||
{
|
||||
public class MLQuestPersistence : Item
|
||||
{
|
||||
private static MLQuestPersistence m_Instance;
|
||||
|
||||
private MLQuestPersistence()
|
||||
: base(1)
|
||||
{
|
||||
Movable = false;
|
||||
}
|
||||
|
||||
public MLQuestPersistence(Serial serial) : base(serial)
|
||||
{
|
||||
m_Instance = this;
|
||||
}
|
||||
|
||||
public override string DefaultName => "ML quests persistence - Internal";
|
||||
|
||||
public static void EnsureExistence()
|
||||
{
|
||||
if (m_Instance == null)
|
||||
m_Instance = new MLQuestPersistence();
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.Write(2); // version
|
||||
writer.Write(MLQuestSystem.Contexts.Count);
|
||||
|
||||
foreach (MLQuestContext context in MLQuestSystem.Contexts.Values)
|
||||
context.Serialize(writer);
|
||||
|
||||
writer.Write(MLQuestSystem.Quests.Count);
|
||||
|
||||
foreach (MLQuest quest in MLQuestSystem.Quests.Values)
|
||||
MLQuest.Serialize(writer, quest);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
int version = reader.ReadInt();
|
||||
int contexts = reader.ReadInt();
|
||||
|
||||
for (int i = 0; i < contexts; ++i)
|
||||
{
|
||||
MLQuestContext context = new MLQuestContext(reader, version);
|
||||
|
||||
if (context.Owner != null)
|
||||
MLQuestSystem.Contexts[context.Owner] = context;
|
||||
}
|
||||
|
||||
int quests = reader.ReadInt();
|
||||
|
||||
for (int i = 0; i < quests; ++i)
|
||||
MLQuest.Deserialize(reader, version);
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue