Server.DynamicSaveStrategy.Save C# (CSharp) Méthode

Save() public méthode

public Save ( SaveMetrics metrics, bool permitBackgroundWrite ) : void
metrics SaveMetrics
permitBackgroundWrite bool
Résultat void
		public override void Save(SaveMetrics metrics, bool permitBackgroundWrite)
		{
			this._metrics = metrics;

			OpenFiles();

			Task[] saveTasks = new Task[3];

			saveTasks[0] = SaveItems();
			saveTasks[1] = SaveMobiles();
			saveTasks[2] = SaveGuilds();

			SaveTypeDatabases();

			if (permitBackgroundWrite)
			{
				//This option makes it finish the writing to disk in the background, continuing even after Save() returns.
				Task.Factory.ContinueWhenAll(saveTasks, _ =>
					{
						CloseFiles();

						World.NotifyDiskWriteComplete();
					});
			}
			else
			{
				Task.WaitAll(saveTasks);	//Waits for the completion of all of the tasks(committing to disk)
				CloseFiles();
			}
		}