Example #1
0
 public void Load(LuaSaveSlot slot)
 {
     if (slot == null)
     {
         return;
     }
     if (slot.Stream == null && _machine.K7Path != null)
     {
         var path = GetStateFilePath(slot.Number);
         if (File.Exists(path))
         {
             slot.Stream = File.OpenRead(path);
         }
     }
     if (slot.Stream == null)
     {
         return;
     }
     _machine.RestoreState(slot.Stream);
     if (!slot.IsPersistent)
     {
         slot.Stream.Dispose();
         slot.Stream = null;
     }
 }
Example #2
0
        public void Save(LuaSaveSlot slot)
        {
            if (slot == null)
            {
                return;
            }
            var stream = new MemoryStream();

            slot.Stream = stream;
            _machine.SaveState(stream);
            if (slot.IsPersistent && !slot.IsAnonymous)
            {
                File.WriteAllBytes(GetStateFilePath(slot.Number), stream.ToArray());
            }
        }
Example #3
0
 public void Persist(LuaSaveSlot saveState)
 {
     saveState.IsPersistent = true;
 }