public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.GetVersion(); switch (version) { case 1: SpectateGate = new MapPoint(reader); goto case 0; case 0: { Map = reader.ReadMap(); BattlePriority = reader.ReadInt(); Eject = new MapPoint(reader); SpectateJoin = reader.ReadPoint3D(); BattleBounds = reader.ReadBlockList(r => r.ReadRect3D()); SpectateBounds = reader.ReadBlockList(r => r.ReadRect3D()); } break; } }
private static bool DeserializeProfiles(GenericReader reader) { var list = reader.ReadBlockList(r => new TrashProfile(r)); list.ForEach(p => Profiles.AddOrReplace(p.Owner, p)); list.Free(true); return true; }
private static void DeserializeChannels(GenericReader reader) { reader.GetVersion(); int idx = 0; reader.ReadBlockArray( r => { var c = _PermaChannels[idx++]; if (c != null) { c.Deserialize(r); } return c; }, _PermaChannels); reader.ReadBlockList(r => r.ReadTypeCreate<WorldChatChannel>(r), _Channels); }
private static bool DeserializeHandlers(GenericReader reader) { var list = reader.ReadBlockList(r => r.ReadTypeCreate<BaseTrashHandler>(r)); list.ForEach(h => Handlers.AddOrReplace(h.UID, h)); list.Free(true); InternalHandlerSort(); return true; }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); var version = reader.GetVersion(); switch (version) { case 2: NotifyPlayer = reader.ReadBool(); goto case 1; case 1: { SearchMode = reader.ReadFlag<StringSearchFlags>(); SearchCapsIgnore = reader.ReadBool(); } goto case 0; case 0: { if (version < 1) { SearchMode = StringSearchFlags.Contains; SearchCapsIgnore = true; } WhitespaceAliases = reader.ReadBlockList(r => r.ReadChar()); KeyWords = reader.ReadBlockList(r => r.ReadString()); LogEnabled = reader.ReadBool(); ConsoleWrite = reader.ReadBool(); PageStaff = reader.ReadBool(); NotifyStaff = reader.ReadBool(); NotifyAccess = reader.ReadFlag<AccessLevel>(); Jail = reader.ReadBool(); JailPoint = new MapPoint(reader); Squelch = reader.ReadBool(); Kick = reader.ReadBool(); Ban = reader.ReadBool(); } break; } }
public virtual void Deserialize(GenericReader reader) { int version = reader.GetVersion(); if (version > 5) { reader.ReadBlock( r => { if (version > 6) { Serial = new PvPSerial(r); } else { Serial = r.ReadTypeCreate<PvPSerial>(r) ?? new PvPSerial(r); } }); } switch (version) { case 7: case 6: case 5: Hidden = reader.ReadBool(); goto case 4; case 4: FloorItemDelete = reader.ReadBool(); goto case 3; case 3: case 2: { Gate = reader.ReadItem<PvPSpectatorGate>(); if (Gate != null) { Gate.Battle = this; } } goto case 1; case 1: { Category = reader.ReadString(); Ranked = reader.ReadBool(); InviteWhileRunning = reader.ReadBool(); } goto case 0; case 0: { if (version < 6) { reader.ReadBlock(r => Serial = r.ReadTypeCreate<PvPSerial>(r) ?? new PvPSerial(r)); } DebugMode = reader.ReadBool(); State = reader.ReadFlag<PvPBattleState>(); Name = reader.ReadString(); Description = reader.ReadString(); AutoAssign = reader.ReadBool(); UseTeamColors = reader.ReadBool(); IgnoreCapacity = reader.ReadBool(); SubCommandPrefix = reader.ReadChar(); QueueAllowed = reader.ReadBool(); SpectateAllowed = reader.ReadBool(); KillPoints = version < 3 ? (reader.ReadBool() ? 1 : 0) : reader.ReadInt(); PointsBase = reader.ReadInt(); PointsRankFactor = reader.ReadDouble(); IdleKick = reader.ReadBool(); IdleThreshold = reader.ReadTimeSpan(); LastState = reader.ReadFlag<PvPBattleState>(); LastStateChange = reader.ReadDateTime(); LightLevel = reader.ReadInt(); LogoutDelay = reader.ReadTimeSpan(); Doors.AddRange(reader.ReadStrongItemList<BaseDoor>()); reader.ReadBlock(r => Options = r.ReadTypeCreate<PvPBattleOptions>(r) ?? new PvPBattleOptions(r)); if (Schedule != null && Schedule.Running) { Schedule.Stop(); } reader.ReadBlock(r => Schedule = r.ReadTypeCreate<Schedule>(r) ?? new Schedule("Battle " + Serial.Value, false)); reader.ReadBlock(r => BattleRegion = r.ReadTypeCreate<PvPBattleRegion>(this, r) ?? new PvPBattleRegion(this, r)); reader.ReadBlock( r => SpectateRegion = r.ReadTypeCreate<PvPSpectateRegion>(this, r) ?? new PvPSpectateRegion(this, r)); reader.ReadBlockList(r => r.ReadTypeCreate<PvPTeam>(this, r) ?? new PvPTeam(this, r), Teams); } break; } }
private static void DeserializeReports(GenericReader reader) { reader.GetVersion(); reader.ReadBlockList(r => new AntiAdvertsReport(r), Reports); }
public void Deserialize(GenericReader reader) { int version = reader.GetVersion(); switch (version) { case 0: { Owner = reader.ReadMobile<PlayerMobile>(); Deleted = reader.ReadBool(); if (!Deleted) { History = reader.ReadBlockDictionary( () => { TimeStamp k = reader.ReadDouble(); var v = reader.ReadBlockList(() => new TrashProfileEntry(reader)); return new KeyValuePair<TimeStamp, List<TrashProfileEntry>>(k, v); }); } } break; } }