Files
RobustToolbox/Robust.Shared/Serialization/IExposeData.cs
Acruid 2183cd7ca1 Massive Namespace Cleanup (#1544)
* Removed the Interfaces folder.
* All objects inside the GameObjects subfolders are now in the GameObjects namespace.
* Added a Resharper DotSettings file to mark the GameObjects subfolders as not providing namespaces.
* Simplified Robust.client.Graphics namespace.
* Automated remove redundant using statements.
2021-02-10 23:27:19 -08:00

24 lines
1.0 KiB
C#

using Robust.Shared.Analyzers;
namespace Robust.Shared.Serialization
{
/// <summary>
/// Interface for the "expose data" system, which is basically our method of handling data serialization.
/// </summary>
[RequiresExplicitImplementation]
public interface IExposeData
{
/// <summary>
/// Will get called to either make this object read data from or provide data to write to/from a serialization format.
/// This method should only rely on <paramref name="serializer" /> for reading data.
/// External data (i.e. current time) is unreliable as this method will get called to get a representation of this object from some data,
/// and may not be called again later.
/// </summary>
/// <param name="serializer">
/// A serializer that data can be read/written from using its various methods.
/// Tell it everything you want to preserve, even your dirtiest secrets.
/// </param>
void ExposeData(ObjectSerializer serializer);
}
}