using System.Collections.Generic;
public interface ISaveable
{
///
/// The function which needs to be subscribed to the
/// Include it in a place which only gets executed once to avoid data duplication.
/// Like in OnEnable() function of Monobehaviour or ScriptableObject
///
void AddToSaveRegistry(HashSet registry);
///
/// Pure virtual function for saving data to a save file.
/// This will comprise the serialization logic.
///
void Serialize(Save saveFile);
///
/// Pure virtual function for loading data from a save file.
/// This will comprise the deserialziation logic.
///
void Deserialize(Save saveFile);
}