public override void SaveSlotPreview(Int32 slotID, Int32 saveID, ISharedDataStorage.OnSaveSlotFinish onFinishDelegate) { ISharedDataLog.LogWarning("No need implementation"); }
public void WriteSlotPreview(SharedDataPreviewSlot previewSlot, SharedDataBytesStorage.MetaData metaData, Int32 saveID, Int32 slotID, Stream stream, BinaryReader reader, BinaryWriter writer, ISharedDataEncryption encryption, ISharedDataStorage.OnSaveSlotFinish onFinishDelegate) { stream.Seek((Int64)(320 - (Int32)stream.Position), SeekOrigin.Current); Int32 num = slotID * 1024 * 15 + saveID * 1024; ISharedDataLog.Log("Seek to: " + num); stream.Seek((Int64)num, SeekOrigin.Current); Int32 num2 = (Int32)stream.Position; Int32 cipherSize = encryption.GetCipherSize(965); Byte[] buffer = new Byte[cipherSize]; Byte[] array = null; using (MemoryStream memoryStream = new MemoryStream()) { using (BinaryWriter binaryWriter = new BinaryWriter(memoryStream)) { binaryWriter.Write('P'); binaryWriter.Write('R'); binaryWriter.Write('E'); binaryWriter.Write('V'); previewSlot.HasData = true; binaryWriter.Write(previewSlot.HasData); binaryWriter.Write(previewSlot.Gil); binaryWriter.Write(previewSlot.PlayDuration); binaryWriter.Write(previewSlot.win_type); Byte[] array2 = new Byte[128]; Byte[] bytes = Encoding.UTF8.GetBytes(previewSlot.Location); Buffer.BlockCopy(bytes, 0, array2, 0, (Int32)bytes.Length); binaryWriter.Write(array2, 0, (Int32)array2.Length); Byte[] array3 = new Byte[136]; for (Int32 i = 0; i < 4; i++) { if (previewSlot.CharacterInfoList[i] == null) { Int32 value = -1; Int32 value2 = -1; binaryWriter.Write(value); binaryWriter.Write(value2); Byte[] array4 = new Byte[128]; binaryWriter.Write(array4, 0, (Int32)array4.Length); } else { binaryWriter.Write(previewSlot.CharacterInfoList[i].SerialID); binaryWriter.Write(previewSlot.CharacterInfoList[i].Level); Byte[] array5 = new Byte[128]; Byte[] bytes2 = Encoding.UTF8.GetBytes(previewSlot.CharacterInfoList[i].Name); Buffer.BlockCopy(bytes2, 0, array5, 0, (Int32)bytes2.Length); binaryWriter.Write(array5, 0, (Int32)array5.Length); } } Double totalSeconds = (DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc)).TotalSeconds; previewSlot.Timestamp = totalSeconds; binaryWriter.Write(previewSlot.Timestamp); Byte[] array6 = new Byte[256]; binaryWriter.Write(array6, 0, (Int32)array6.Length); array = memoryStream.ToArray(); if ((Int32)array.Length != 965) { ISharedDataLog.LogError("previewPlainText has incorrect size: " + (Int32)array.Length); } } } buffer = encryption.Encrypt(array); stream.Seek((Int64)num2, SeekOrigin.Begin); writer.Write(buffer, 0, cipherSize); onFinishDelegate(slotID, saveID, previewSlot); }
public abstract void SaveSlotPreview(Int32 slotID, Int32 saveID, ISharedDataStorage.OnSaveSlotFinish onFinishDelegate);