using System; using System.Collections.Generic; using System.Diagnostics.CodeAnalysis; using Robust.Shared.GameObjects; using Robust.Shared.Map.Components; namespace Robust.Shared.Map; /// /// Arguments for when a map is created or deleted locally ore remotely. /// public sealed class MapEventArgs : EventArgs { /// /// Creates a new instance of this class. /// public MapEventArgs(MapId map) { Map = map; } /// /// Map that is being modified. /// public MapId Map { get; } } internal partial class MapManager { /// public virtual void DeleteMap(MapId mapId) { _mapSystem.DeleteMap(mapId); } /// public MapId CreateMap(MapId? mapId = null) { if (mapId != null) { _mapSystem.CreateMap(mapId.Value); return mapId.Value; } _mapSystem.CreateMap(out var map); return map; } /// public bool MapExists([NotNullWhen(true)] MapId? mapId) { return _mapSystem.MapExists(mapId); } /// public EntityUid GetMapEntityId(MapId mapId) { return _mapSystem.GetMapOrInvalid(mapId); } /// /// Replaces GetMapEntity()'s throw-on-failure semantics. /// public EntityUid GetMapEntityIdOrThrow(MapId mapId) { return _mapSystem.GetMap(mapId); } public bool TryGetMap([NotNullWhen(true)] MapId? mapId, [NotNullWhen(true)] out EntityUid? uid) { return _mapSystem.TryGetMap(mapId, out uid); } /// public IEnumerable GetAllMapIds() { return _mapSystem.GetAllMapIds(); } /// public bool IsMap(EntityUid uid) { return EntityManager.HasComponent(uid); } }