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.partKiller = new PartKiller(lockSystem); this.dynamicTickWorker = new DynamicTickWorker(this, networkWorker); this.kerbalReassigner = new KerbalReassigner(); this.vesselPackedUpdater = new VesselInterFrameUpdater(lockSystem, posistionStatistics, dmpSettings); this.vesselWorker = new VesselWorker(this, dmpSettings, modWorker, lockSystem, networkWorker, configNodeSerializer, dynamicTickWorker, kerbalReassigner, partKiller, posistionStatistics, vesselPackedUpdater); this.scenarioWorker = new ScenarioWorker(this, vesselWorker, configNodeSerializer, networkWorker); this.playerStatusWorker = new PlayerStatusWorker(this, dmpSettings, vesselWorker, lockSystem, networkWorker); 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.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); this.craftLibraryWorker = new CraftLibraryWorker(this, dmpSettings, networkWorker); this.hackyInAtmoLoader = new HackyInAtmoLoader(this, lockSystem, vesselWorker); this.asteroidWorker = new AsteroidWorker(this, lockSystem, networkWorker, vesselWorker); this.playerColorWorker = new PlayerColorWorker(dmpSettings, lockSystem, networkWorker); this.playerStatusWindow = new PlayerStatusWindow(this, dmpSettings, warpWorker, chatWorker, craftLibraryWorker, debugWindow, screenshotWorker, timeSyncer, playerStatusWorker, optionsWindow, playerColorWorker); this.playerColorWorker.SetDependencies(playerStatusWindow); this.vesselWorker.SetDependencies(hackyInAtmoLoader, timeSyncer, asteroidWorker, chatWorker, playerStatusWorker); this.networkWorker.SetDependencies(timeSyncer, warpWorker, chatWorker, playerColorWorker, flagSyncer, partKiller, kerbalReassigner, asteroidWorker, vesselWorker, hackyInAtmoLoader, playerStatusWorker, scenarioWorker, dynamicTickWorker, craftLibraryWorker, screenshotWorker, toolbarSupport, adminSystem, lockSystem, dmpModInterface, universeSyncCache, vesselRecorder); //this.vesselPackedUpdater.SetVesselRecoder(this.vesselRecorder); optionsWindow.SetDependencies(this, networkWorker, playerColorWorker); 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.hackyInAtmoLoader.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); }
public WarpWorker(DMPGame dmpGame, Settings dmpSettings, TimeSyncer timeSyncer, NetworkWorker networkWorker, PlayerStatusWorker playerStatusWorker) { this.dmpGame = dmpGame; this.dmpSettings = dmpSettings; this.timeSyncer = timeSyncer; this.networkWorker = networkWorker; this.playerStatusWorker = playerStatusWorker; dmpGame.updateEvent.Add(Update); }
public ScreenshotWorker(DMPGame dmpGame, Settings dmpSettings, ChatWorker chatWorker, NetworkWorker networkWorker, PlayerStatusWorker playerStatusWorker) { this.dmpGame = dmpGame; this.dmpSettings = dmpSettings; this.chatWorker = chatWorker; this.networkWorker = networkWorker; this.playerStatusWorker = playerStatusWorker; dmpGame.updateEvent.Add(Update); dmpGame.drawEvent.Add(Draw); }
public static void Reset() { lock (Client.eventLock) { if (singleton != null) { Client.updateEvent.Remove(singleton.Update); } singleton = new PlayerStatusWorker(); Client.updateEvent.Add(singleton.Update); } }
public static void Reset() { lock (Client.eventLock) { if (singleton != null) { singleton.workerEnabled = false; Client.updateEvent.Remove(singleton.Update); } singleton = new PlayerStatusWorker(); Client.updateEvent.Add(singleton.Update); } }
public PlayerStatusWindow(DMPGame dmpGame, Settings dmpSettings, WarpWorker warpWorker, ChatWorker chatWorker, CraftLibraryWorker craftLibraryWorker, DebugWindow debugWindow, ScreenshotWorker screenshotWorker, TimeSyncer timeSyncer, PlayerStatusWorker playerStatusWorker, OptionsWindow optionsWindow, PlayerColorWorker playerColorWorker) { this.dmpGame = dmpGame; this.dmpSettings = dmpSettings; this.warpWorker = warpWorker; this.chatWorker = chatWorker; this.craftLibraryWorker = craftLibraryWorker; this.debugWindow = debugWindow; this.screenshotWorker = screenshotWorker; this.timeSyncer = timeSyncer; this.playerStatusWorker = playerStatusWorker; this.optionsWindow = optionsWindow; this.playerColorWorker = playerColorWorker; dmpGame.updateEvent.Add(Update); dmpGame.drawEvent.Add(Draw); }
public ChatWorker(DMPGame dmpGame, Settings dmpSettings, NetworkWorker networkWorker, AdminSystem adminSystem, PlayerStatusWorker playerStatusWorker) { this.dmpGame = dmpGame; this.dmpSettings = dmpSettings; this.networkWorker = networkWorker; this.adminSystem = adminSystem; this.playerStatusWorker = playerStatusWorker; RegisterChatCommand("help", DisplayHelp, "Displays this help"); RegisterChatCommand("join", JoinChannel, "Joins a new chat channel"); RegisterChatCommand("query", StartQuery, "Starts a query"); RegisterChatCommand("leave", LeaveChannel, "Leaves the current channel"); RegisterChatCommand("part", LeaveChannel, "Leaves the current channel"); RegisterChatCommand("ping", ServerPing, "Pings the server"); RegisterChatCommand("motd", ServerMOTD, "Gets the current Message of the Day"); RegisterChatCommand("resize", ResizeChat, "Resized the chat window"); RegisterChatCommand("version", DisplayVersion, "Displays the current version of DMP"); dmpGame.updateEvent.Add(Update); dmpGame.drawEvent.Add(Draw); }
public PlayerStatusWindow(DMPGame dmpGame, Settings dmpSettings, WarpWorker warpWorker, ChatWorker chatWorker, CraftLibraryWorker craftLibraryWorker, ScreenshotWorker screenshotWorker, TimeSyncer timeSyncer, PlayerStatusWorker playerStatusWorker, OptionsWindow optionsWindow, PlayerColorWorker playerColorWorker, GroupsWindow groupsWindow, PermissionsWindow permissionsWindow) { this.dmpGame = dmpGame; this.dmpSettings = dmpSettings; this.warpWorker = warpWorker; this.chatWorker = chatWorker; this.craftLibraryWorker = craftLibraryWorker; this.screenshotWorker = screenshotWorker; this.timeSyncer = timeSyncer; this.playerStatusWorker = playerStatusWorker; this.optionsWindow = optionsWindow; this.playerColorWorker = playerColorWorker; this.groupsWindow = groupsWindow; this.permissionsWindow = permissionsWindow; updateAction = new NamedAction(Update); drawAction = new NamedAction(Draw); this.dmpGame.updateEvent.Add(updateAction); this.dmpGame.drawEvent.Add(drawAction); }
public void SetDependencies(PlayerStatusWorker playerStatusWorker) { this.playerStatusWorker = playerStatusWorker; }