public override void Deserialize(GenericReader reader) { base.Deserialize(reader); Int32 version = reader.ReadInt(); switch (version) { case 1: Int32 definitionCount = reader.ReadInt(); for (Int32 i = 0; i < definitionCount; i++) { String systemName = reader.ReadString(); Boolean enabled = reader.ReadBool(); List <Type> creatureRegistry = new List <Type>(); List <TitleEntry> titleRegistry = new List <TitleEntry>(); Int32 creatureCount = reader.ReadInt(); for (Int32 j = 0; j < creatureCount; j++) { Type t = ScriptCompiler.FindTypeByName(reader.ReadString()); if (t != null) { creatureRegistry.Add(t); } } Int32 titleCount = reader.ReadInt(); for (Int32 j = 0; j < titleCount; j++) { titleRegistry.Add(new TitleEntry(reader.ReadString(), reader.ReadInt())); } m_TitleDefinitions.Add(new TitleDefinition(systemName, enabled, creatureRegistry, titleRegistry)); } break; case 0: SlayerTitleDef.InitializeConfiguration(this); break; } CrossReferenceDefinitions(); }
public static void Initialize() { SlayerTitleCore core = World.GetCore(typeof(SlayerTitleCore)) as SlayerTitleCore; if (core == null) { core = new SlayerTitleCore(); SlayerTitleDef.InitializeConfiguration(core); core.Prep(); } m_Core = core; CommandSystem.Register("STS", AccessLevel.Developer, new CommandEventHandler(STS_OnCommand)); }