using System;
using System.Collections.Generic;
namespace Substrate.Data
{
///
/// Provides a common interface for managing additional data resources in a world.
///
public abstract class DataManager
{
///
/// Gets or sets the id of the next map to be created.
///
public virtual int CurrentMapId
{
get { throw new NotImplementedException(); }
set { throw new NotImplementedException(); }
}
///
/// Gets an for managing data resources.
///
public IMapManager Maps
{
get { return GetMapManager(); }
}
///
/// Gets an for managing data resources.
///
/// An instance appropriate for the concrete instance.
protected virtual IMapManager GetMapManager ()
{
return null;
}
///
/// Saves any metadata required by the world for managing data resources.
///
/// true on success, or false if data could not be saved.
public virtual bool Save ()
{
return true;
}
}
}