using System; using System.Threading.Tasks; namespace AibisDream.SaveSystem.CloudSave { /// /// 云存档后端适配器接口。 /// /// P2 仅定义接口与本地 no-op 实现,未来 Steamworks.NET / TapTap TDS SDK 通过实现此接口接入。 /// 每个槽位在本地对应一组文件(snapshot.json / meta.json / thumbnail.png), /// backend 可选择逐文件上传,或将整组文件打包后上传。 /// /// public interface ICloudSaveBackend { /// 平台名称,用于日志。 string PlatformName { get; } /// 当前平台是否可用。 bool IsAvailable { get; } /// 上传槽位文件集。 /// 槽位编号。 /// 该槽位下需要同步的文件绝对路径。 Task UploadSlotAsync(int slotIndex, string[] filePaths); /// 下载槽位文件集到目标目录。 Task DownloadSlotAsync(int slotIndex, string targetDirectory); /// 删除云端槽位。 Task DeleteSlotAsync(int slotIndex); /// 获取云端该槽位的时间戳,用于冲突检测。 /// 远程保存时间;不存在返回 null。 Task GetRemoteTimestampAsync(int slotIndex); } }