fCraft.World.SaveTask C# (CSharp) Method

SaveTask() private method

private SaveTask ( SchedulerTask task ) : void
task SchedulerTask
return void
        private void SaveTask( SchedulerTask task )
        {
            if ( !IsLoaded )
                return;
            lock ( SyncRoot ) {
                if ( Map == null )
                    return;

                lock ( BackupLock ) {
                    if ( BackupsEnabled &&
                        DateTime.UtcNow.Subtract( lastBackup ) > BackupInterval &&
                        ( HasChangedSinceBackup || !ConfigKey.BackupOnlyWhenChanged.Enabled() ) ) {
                        string backupFileName = String.Format( TimedBackupFormat, Name, DateTime.Now ); // localized
                        SaveBackup( Path.Combine( Paths.BackupPath, backupFileName ) );
                        lastBackup = DateTime.UtcNow;
                    }
                }

                if ( Map.HasChangedSinceSave ) {
                    SaveMap();
                }

                if ( BlockDB.IsEnabledGlobally && BlockDB.IsEnabled ) {
                    BlockDB.Flush( true );
                }
            }
        }