// // Licensed under the MIT License. See LICENSE file in the project root for full license information. // namespace MUnique.OpenMU.Startup; using MUnique.OpenMU.ChatServer; using MUnique.OpenMU.DataModel.Configuration; using MUnique.OpenMU.Interfaces; using MUnique.OpenMU.Network.PlugIns; using MUnique.OpenMU.Persistence; /// /// Extensions for . /// public static class ChatServerDefinitionExtensions { /// /// Converts the into corresponding . /// /// The definition. /// The settings. public static ChatServerSettings ConvertToSettings(this ChatServerDefinition definition) { var result = new ChatServerSettings { Id = definition.GetId(), MaximumConnections = definition.MaximumConnections, ClientTimeout = definition.ClientTimeout, ClientCleanUpInterval = definition.ClientCleanUpInterval, RoomCleanUpInterval = definition.RoomCleanUpInterval, Description = definition.Description, ServerId = definition.ServerId + SpecialServerIds.ChatServer, }; foreach (var endpoint in definition.Endpoints) { result.Endpoints.Add(new OpenMU.ChatServer.ChatServerEndpoint { ClientVersion = new ClientVersion(endpoint.Client!.Season, endpoint.Client.Episode, endpoint.Client.Language), NetworkPort = endpoint.NetworkPort, }); } return result; } }