Пример #1
0
        protected async Task SaveToStreamAsync(Stream stream, GameSaveEntry save)
        {
            var ms = new MemoryStream();

            _slzr.Value.WriteObject(ms, save);
            await ms.CopyToAsync(stream);
        }
Пример #2
0
        protected async Task LoadGameEntry(GameSaveEntry save)
        {
            var oldSave = GetGameEntry();

            await OnSaveEntryLoading(oldSave, save);

            GetValueContainer(x => x.GameExecutingContext).SetValue((TContext)save.ContextObject);
            GetValueContainer(x => x.CurrentState).SetValue(AllStates[save.CurrentState]);
            await OnSaveEntryLoaded(save, oldSave);
        }
Пример #3
0
 protected async Task OnSaveEntryLoaded(GameSaveEntry overwrittingSave, GameSaveEntry overwrittenSaveBackup)
 {
     if (SaveEntryLoaded != null)
     {
         await SaveEntryLoaded(
             this,
             new SaveEntryLoadedAsyncEventArgs
         {
             OverwrittingSave      = overwrittingSave,
             OverwrittenSaveBackup = overwrittenSaveBackup
         });
     }
 }
Пример #4
0
 protected async Task OnSaveEntryLoading(GameSaveEntry currentSave, GameSaveEntry incomingSave)
 {
     if (SaveEntryLoading != null)
     {
         await SaveEntryLoading(
             this,
             new SaveEntryLoadingAsyncEventArgs
         {
             CurrentSave  = currentSave,
             IncomingSave = incomingSave
         }
             );
     }
 }
Пример #5
0
        protected async Task SaveToStreamAsync(Stream stream)
        {
            GameSaveEntry gs = GetGameEntry();

            await SaveToStreamAsync(stream, gs);
        }