public void Delete(IStrSaveableRestorableClearable objToDelete, string itemName) { (var fileName, var dirName) = GetItemPath(itemName); if (objToDelete is IDeletable deletable) { deletable.OnDelete(itemName); } SaverRestorer.DeleteItem(fileName, dirName); }
public void Save(IStrSaveableRestorableClearable objToSave, string itemName) { (var fileName, var dirName) = GetItemPath(itemName); string strToSave = objToSave.Save(); SaverRestorer.SaveStr(fileName, strToSave, dirName); if (objToSave is ISaveable saveable) { saveable.OnSave(itemName); } }
public void Restore ( IStrRestorable objToRestore, string itemName) { (var fileName, var dirName) = GetItemPath(itemName); string strToRestoreObjFrom = SaverRestorer.RestoreStr(fileName, dirName); if (objToRestore is IItemNameContainer itemNameContainer) { itemNameContainer.ItemName = itemName; } objToRestore.Restore(strToRestoreObjFrom); }