using System;
using Framework.Services;
namespace Framework.Storage {
/// Manages the save slots in which game states can be stored
[
ServiceScope(Scope.Global),
DefaultBinding(typeof(SaveSlotManager))
]
public interface ISaveSlotManager {
/// Checks whether the slot with the specified index contains save data
/// Index of the slot that will be checked
/// True if the specified save slot is filled
bool IsSlotFilled(int slotIndex);
/// Deletes the save slot with the specified index
/// Index of the slot that will be deleted
void DeleteSaveSlot(int slotIndex);
/// Returns the absolute path of the slot with the specified index
/// Index of the slot whose path will be returned
/// Whether to create the slot if it doesn't exist yet
///
/// The absolute path fo the slot with the specified index or null if the slot
/// does not exist and was set to false.
///
string GetSaveSlotPath(int slotIndex, bool create = false);
}
} // namespace Framework.Storage