I have not been able to figure out the purpose of the "new()" word in this code. I appreciate any insight and help understanding it. What is the meaning/functionality of "new()" in this piece of code?
public abstract class GameManagerBase<TGameManager, TDataStore> : PersistentSingleton<TGameManager>
where TDataStore : GameDataStoreBase, new()
where TGameManager : GameManagerBase<TGameManager, TDataStore>
public abstract class GameDataStoreBase : IDataStore
{
public float masterVolume = 1;
public float sfxVolume = 1;
public float musicVolume = 1;
/// <summary>
/// Called just before we save
/// </summary>
public abstract void PreSave();
/// <summary>
/// Called just after load
/// </summary>
public abstract void PostLoad();
}