//
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
//
namespace MUnique.OpenMU.Persistence.Initialization;
using System.Runtime.InteropServices;
using MUnique.OpenMU.PlugIns;
///
/// An interface for a plug in which provides initial data.
///
[Guid("A8124680-8562-456C-9952-567E5A40F6D0")]
[PlugInPoint("Data initialization", "Provides an initialization for initial data.")]
public interface IDataInitializationPlugIn : IStrategyPlugIn
{
///
/// Gets the caption for this initialization plugin which will be visible on the setup page.
///
string Caption { get; }
///
/// Creates the initial data for a server.
///
/// The number of game servers.
/// If set to true, test accounts should be created.
Task CreateInitialDataAsync(byte numberOfGameServers, bool createTestAccounts);
}