namespace Mirror { /// /// A sync object is an object that can synchronize it's state /// between server and client, such as a SyncList /// public interface SyncObject { /// /// true if there are changes since the last flush /// bool IsDirty { get; } /// /// Discard all the queued changes /// Consider the object fully synchronized with clients /// void Flush(); /// /// Write a full copy of the object /// /// void OnSerializeAll(NetworkWriter writer); /// /// Write the changes made to the object since last sync /// /// void OnSerializeDelta(NetworkWriter writer); /// /// Reads a full copy of the object /// /// void OnDeserializeAll(NetworkReader reader); /// /// Reads the changes made to the object since last sync /// /// void OnDeserializeDelta(NetworkReader reader); /// /// Resets the SyncObject so that it can be re-used /// void Reset(); } }