private static void Backup()
{
if ( m_Backups.Length == 0 )
return;
string root = Path.Combine( Core.BaseDirectory, "Backups/Automatic" );
if ( !Directory.Exists( root ) )
Directory.CreateDirectory( root );
string[] existing = Directory.GetDirectories( root );
for ( int i = 0; i < m_Backups.Length; ++i )
{
DirectoryInfo dir = Match( existing, m_Backups[i] );
if ( dir == null )
continue;
if ( i > 0 )
{
string timeStamp = FindTimeStamp( dir.Name );
if ( timeStamp != null )
{
try{ dir.MoveTo( FormatDirectory( root, m_Backups[i - 1], timeStamp ) ); }
catch{}
}
}
else
{
try{ dir.Delete( true ); }
catch{}
}
}
string saves = Path.Combine( Core.BaseDirectory, "Saves" );
if ( Directory.Exists( saves ) )
Directory.Move( saves, FormatDirectory( root, m_Backups[m_Backups.Length - 1], GetTimeStamp() ) );
}