using System.IO;
using Content.Server.Administration;
using Content.Shared.Administration;
using Content.Shared.CCVar;
using Robust.Server.GameObjects;
using Robust.Server.Maps;
using Robust.Shared.Configuration;
using Robust.Shared.Console;
using Robust.Shared.ContentPack;
using Robust.Shared.Map;
using Robust.Shared.Timing;
using Robust.Shared.Utility;
namespace Content.Server.Mapping;
///
/// Handles autosaving maps.
///
public sealed class MappingSystem : EntitySystem
{
[Dependency] private readonly IConsoleHost _conHost = default!;
[Dependency] private readonly IGameTiming _timing = default!;
[Dependency] private readonly IConfigurationManager _cfg = default!;
[Dependency] private readonly IMapManager _mapManager = default!;
[Dependency] private readonly IResourceManager _resMan = default!;
[Dependency] private readonly MapLoaderSystem _map = default!;
// Not a comp because I don't want to deal with this getting saved onto maps ever
///
/// map id -> next autosave timespan & original filename.
///
///
private Dictionary _currentlyAutosaving = new();
private ISawmill _sawmill = default!;
private bool _autosaveEnabled;
public override void Initialize()
{
base.Initialize();
_conHost.RegisterCommand("toggleautosave",
"Toggles autosaving for a map.",
"autosave