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 DeserializeProfiles(GenericReader reader) { var list = reader.ReadBlockArray(() => new TrashProfile(reader)); foreach (var p in list) { Profiles.AddOrReplace(p.Owner, p); } return true; }
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.ReadBlockArray(() => new VoteProfileEntry(reader)).Where(e => (e.VoteSite != null)).ToList(); return new KeyValuePair<TimeStamp, List<VoteProfileEntry>>(k, v); }); } } break; } }
private static bool DeserializeHandlers(GenericReader reader) { var list = reader.ReadBlockArray(() => reader.ReadTypeCreate<BaseTrashHandler>(reader)); list.ForEach( h => { if (!Handlers.ContainsKey(h.UID)) { Handlers.Add(h.UID, h); } else { Handlers[h.UID] = h; } }); InternalHandlerSort(); return true; }