import { TribeLogConfigModel } from "./tribeLogConfig.model"; import { SharedLogConfigModel } from "./sharedLogConfig.model"; import { TravelDataConfigModel } from "./travelDataConfig.model"; import { GlobalGameplaySetupModel } from "./GlobalGameplaySetupModel"; import { Deserialize } from "./util/deserialize.model"; import { DatabaseConnectionModel } from "./databaseConnection.model"; import { ServerModel } from "./atlasData/server.model"; export class ServerGridModel implements Deserialize { // Server Argument Section public BaseServerArgs: string = ""; public AdditionalCmdLineParams: string = ""; // World Options public WorldFriendlyName: string = "New Server"; public WorldAtlasId: string = ""; public WorldAtlasPassword: string = ""; public ModIDs: string = ""; // Grid Options public gridSize: number = 1000; public totalGridsX: number = 1; public totalGridsY: number = 1; public coordsScaling: number = 0.000000000001; public globalTransitionMinZ: number = 0.0; // Image Paths public backgroundImgPath: string = "image.png"; public discoZonesImagePath: string = "image.png"; // URL Options public MetaWorldURL: string = ""; public AuthListURL: string = ""; public MapImageURL: string = ""; // Time Options public Day0: string = "2019-01-09 20:28:56"; public bUseUTCTime: boolean = false; public columnUTCOffset: number = 0.0; public lastImageOverride: string = "0001-01-01T00:00:00"; // Info Options public showServerInfo: boolean = false; public showDiscoZoneInfo: boolean = false; public showShipPathsInfo: boolean = false; public showIslandNames: boolean = false; public showLines: boolean = false; public showBackground: boolean = false; // S3 Options public LocalS3URL: string = ""; public LocalS3AccessKeyId: string = ""; public LocalS3SecretKey: string = ""; public LocalS3BucketName: string = ""; public LocalS3Region: string = ""; // Unsorted... public shipPathsIdGenerator: number = 1; public idGenerator: number = 127; public regionsIdGenerator: number = 0; // Log Configs public TribeLogConfig: TribeLogConfigModel = new TribeLogConfigModel(); public SharedLogConfig: SharedLogConfigModel = new SharedLogConfigModel(); public TravelDataConfig: TravelDataConfigModel = new TravelDataConfigModel(); // Quest Config public globalGameplaySetup: GlobalGameplaySetupModel = new GlobalGameplaySetupModel(); public DatabaseConnections: DatabaseConnectionModel[]; servers: ServerModel[]; public deserialize(input: any): this { Object.assign(this, input); this.SharedLogConfig = new SharedLogConfigModel().deserialize(input.SharedLogConfig); this.TribeLogConfig = new TribeLogConfigModel().deserialize(input.TribeLogConfig); this.TravelDataConfig = new TravelDataConfigModel().deserialize(input.TravelDataConfig); this.globalGameplaySetup = new GlobalGameplaySetupModel().deserialize(input.globalGameplaySetup); this.DatabaseConnections = this.DatabaseConnections.map(i => new DatabaseConnectionModel().deserialize(i)); this.servers = this.servers.map(i => new ServerModel().deserialize(i)); return this; } }