Beispiel #1
0
 public DMPGame(Settings dmpSettings, UniverseSyncCache universeSyncCache, ModWorker modWorker, ConnectionWindow connectionWindow, DMPModInterface dmpModInterface, ToolbarSupport toolbarSupport, OptionsWindow optionsWindow)
 {
     this.dmpSettings          = dmpSettings;
     this.universeSyncCache    = universeSyncCache;
     this.modWorker            = modWorker;
     this.connectionWindow     = connectionWindow;
     this.dmpModInterface      = dmpModInterface;
     this.configNodeSerializer = new ConfigNodeSerializer();
     this.posistionStatistics  = new PosistionStatistics();
     this.networkWorker        = new NetworkWorker(this, dmpSettings, connectionWindow, modWorker, configNodeSerializer);
     this.adminSystem          = new AdminSystem(dmpSettings);
     this.flagSyncer           = new FlagSyncer(this, dmpSettings, networkWorker);
     this.lockSystem           = new LockSystem(dmpSettings, networkWorker);
     this.groups             = new Groups(this, networkWorker, dmpSettings);
     this.groupsWindow       = new GroupsWindow(this, dmpSettings, groups);
     this.permissions        = new Permissions(this, networkWorker, dmpSettings, groups);
     this.permissionsWindow  = new PermissionsWindow(this, dmpSettings, groups, permissions, lockSystem);
     this.partKiller         = new PartKiller(lockSystem);
     this.dynamicTickWorker  = new DynamicTickWorker(this, networkWorker);
     this.kerbalReassigner   = new KerbalReassigner();
     this.vesselWorker       = new VesselWorker(this, dmpSettings, modWorker, lockSystem, networkWorker, configNodeSerializer, dynamicTickWorker, kerbalReassigner, partKiller, posistionStatistics, permissions);
     this.scenarioWorker     = new ScenarioWorker(this, vesselWorker, configNodeSerializer, networkWorker);
     this.playerStatusWorker = new PlayerStatusWorker(this, dmpSettings, vesselWorker, lockSystem, networkWorker, permissions);
     this.timeSyncer         = new TimeSyncer(this, networkWorker, vesselWorker);
     this.warpWorker         = new WarpWorker(this, dmpSettings, timeSyncer, networkWorker, playerStatusWorker);
     this.chatWorker         = new ChatWorker(this, dmpSettings, networkWorker, adminSystem, playerStatusWorker);
     this.modpackWorker      = new ModpackWorker(this, dmpSettings, modWorker, networkWorker, chatWorker, adminSystem);
     this.screenshotWorker   = new ScreenshotWorker(this, dmpSettings, chatWorker, networkWorker, playerStatusWorker);
     this.vesselRecorder     = new VesselRecorder(this, warpWorker, vesselWorker, networkWorker, dmpSettings);
     this.debugWindow        = new DebugWindow(this, dmpSettings, timeSyncer, networkWorker, vesselWorker, dynamicTickWorker, warpWorker, vesselRecorder, posistionStatistics, optionsWindow);
     this.craftLibraryWorker = new CraftLibraryWorker(this, dmpSettings, networkWorker);
     this.asteroidWorker     = new AsteroidWorker(this, lockSystem, networkWorker, vesselWorker);
     this.playerColorWorker  = new PlayerColorWorker(dmpSettings, lockSystem, networkWorker);
     this.playerStatusWindow = new PlayerStatusWindow(this, dmpSettings, warpWorker, chatWorker, craftLibraryWorker, screenshotWorker, timeSyncer, playerStatusWorker, optionsWindow, playerColorWorker, groupsWindow, permissionsWindow);
     this.playerColorWorker.SetDependencies(playerStatusWindow);
     this.vesselWorker.SetDependencies(timeSyncer, asteroidWorker, chatWorker, playerStatusWorker);
     this.networkWorker.SetDependencies(timeSyncer, warpWorker, chatWorker, playerColorWorker, flagSyncer, partKiller, kerbalReassigner, asteroidWorker, vesselWorker, playerStatusWorker, scenarioWorker, dynamicTickWorker, craftLibraryWorker, screenshotWorker, toolbarSupport, adminSystem, lockSystem, dmpModInterface, universeSyncCache, vesselRecorder, groups, permissions, modpackWorker);
     //this.vesselPackedUpdater.SetVesselRecoder(this.vesselRecorder);
     optionsWindow.SetDependencies(this, networkWorker, playerColorWorker);
     groupsWindow.SetDependencies(playerStatusWorker);
     permissionsWindow.SetDependencies(playerStatusWorker);
     this.dmpModInterface.DMPRun(networkWorker);
     this.stopEvent.Add(this.chatWorker.Stop);
     this.stopEvent.Add(this.craftLibraryWorker.Stop);
     this.stopEvent.Add(this.debugWindow.Stop);
     this.stopEvent.Add(this.dynamicTickWorker.Stop);
     this.stopEvent.Add(this.flagSyncer.Stop);
     this.stopEvent.Add(this.kerbalReassigner.Stop);
     this.stopEvent.Add(this.playerColorWorker.Stop);
     this.stopEvent.Add(this.playerStatusWindow.Stop);
     this.stopEvent.Add(this.playerStatusWorker.Stop);
     this.stopEvent.Add(this.partKiller.Stop);
     this.stopEvent.Add(this.scenarioWorker.Stop);
     this.stopEvent.Add(this.screenshotWorker.Stop);
     this.stopEvent.Add(this.timeSyncer.Stop);
     this.stopEvent.Add(toolbarSupport.Stop);
     this.stopEvent.Add(optionsWindow.Stop);
     this.stopEvent.Add(this.vesselWorker.Stop);
     this.stopEvent.Add(this.warpWorker.Stop);
     this.stopEvent.Add(this.asteroidWorker.Stop);
     this.stopEvent.Add(this.vesselRecorder.Stop);
     this.stopEvent.Add(this.groups.Stop);
     this.stopEvent.Add(this.permissions.Stop);
     this.stopEvent.Add(this.groupsWindow.Stop);
     this.stopEvent.Add(this.permissionsWindow.Stop);
     this.stopEvent.Add(this.modpackWorker.Stop);
 }