Atlas-Config-Generator/src/app/models/serverGrid.model.ts

83 lines
3.1 KiB
TypeScript

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;
}
}