using System;
using System.Collections.Generic;
using Robust.Shared.GameObjects;
using Robust.Shared.Map.Components;
namespace Robust.Shared.EntitySerialization;
///
/// Class containing information about entities that were loaded from a yaml file.
///
public sealed class LoadResult
{
///
/// The file format version.
///
public int Version;
///
/// The category of the file that was loaded in.
/// This might not match the actual final result. E.g., when loading in a grid file, a map may automatically gets
/// generated for it via .
///
public FileCategory Category = FileCategory.Unknown;
///
/// The engine version that was used to write the file. See .
///
public string? EngineVersion;
///
/// The fork that was used to write the file. See .
///
public string? ForkId;
///
/// The fork version that was used to write the file. See .
///
public string? ForkVersion;
///
/// The when the file was created.
///
public DateTime? Time;
///
/// Set of all entities that were created while the file was being loaded.
///
public readonly HashSet Entities = new();
///
/// Set of entities that are not parented to other entities. This will be a combination of ,
/// , and .
///
public readonly HashSet RootNodes = new();
public readonly HashSet> Maps = new();
public readonly HashSet> Grids = new();
///
/// Deserialized entities that need to be assigned a new parent. These differ from "true" null-space entities.
/// E,g, saving a grid without saving the map would make the grid an "orphan".
///
public readonly HashSet Orphans = new();
///
/// List of null-space entities. This contains all entities without a parent that don't have a
/// , and were not listed as orphans
///
public readonly HashSet NullspaceEntities = new();
}