Example #1
0
        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);
            }
        }
Example #2
0
        public MemoryEntry Find(string sign)
        {
            MemoryEntry result = null;

            if (fTable.ContainsKey(sign) ? (result = fTable.GetValueOrNull(sign)) == result : false)
            {
                return(result);
            }
            else
            {
                return(null);
            }
        }
Example #3
0
        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;
            }
        }
Example #4
0
 public MemoryEntry Add(string sign, MemoryEntry data)
 {
     fTable[sign] = data;
     return(data);
 }