public void SaveToStream(BinaryWriter stream, FileVersion version) { StreamUtils.WriteInt(stream, fTable.Count); foreach (KeyValuePair <string, MemoryEntry> dicEntry in fTable) { MemoryEntry data = (MemoryEntry)dicEntry.Value; byte kind = data.SerializeKind; StreamUtils.WriteByte(stream, kind); data.SaveToStream(stream, version); } }
public MemoryEntry Find(string sign) { MemoryEntry result = null; if (fTable.ContainsKey(sign) ? (result = fTable.GetValueOrNull(sign)) == result : false) { return(result); } else { return(null); } }
public void LoadFromStream(BinaryReader stream, FileVersion version) { fTable.Clear(); int count = StreamUtils.ReadInt(stream); for (int i = 0; i < count; i++) { sbyte kind = (sbyte)StreamUtils.ReadByte(stream); MemoryEntry data = (MemoryEntry)SerializablesManager.CreateSerializable(kind, Owner); data.LoadFromStream(stream, version); fTable[data.Sign] = data; } }
public MemoryEntry Add(string sign, MemoryEntry data) { fTable[sign] = data; return(data); }