using Robust.Shared.Analyzers;
namespace Robust.Shared.Serialization
{
///
/// Interface for the "expose data" system, which is basically our method of handling data serialization.
///
[RequiresExplicitImplementation]
public interface IExposeData
{
///
/// 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 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.
///
///
/// A serializer that data can be read/written from using its various methods.
/// Tell it everything you want to preserve, even your dirtiest secrets.
///
void ExposeData(ObjectSerializer serializer);
}
}