public void Awake() { Profiler.DMPReferenceTime.Start(); GameObject.DontDestroyOnLoad(this); assemblyPath = new DirectoryInfo(Assembly.GetExecutingAssembly().Location).FullName; string kspPath = new DirectoryInfo(KSPUtil.ApplicationRootPath).FullName; //I find my abuse of Path.Combine distrubing. assemblyShouldBeInstalledAt = Path.Combine(Path.Combine(Path.Combine(Path.Combine(kspPath, "GameData"), "DarkMultiPlayer"), "Plugins"), "DarkMultiPlayer.dll"); UnityEngine.Debug.Log("KSP installed at " + kspPath); UnityEngine.Debug.Log("DMP installed at " + assemblyPath); incorrectlyInstalled = (assemblyPath.ToLower() != assemblyShouldBeInstalledAt.ToLower()); if (incorrectlyInstalled) { UnityEngine.Debug.LogError("DMP is installed at '" + assemblyPath + "', It should be installed at '" + assemblyShouldBeInstalledAt + "'"); return; } if (Settings.fetch.disclaimerAccepted != 1) { modDisabled = true; DisclaimerWindow.Enable(); } SetupDirectoriesIfNeeded(); //Register events needed to bootstrap the workers. lock (eventLock) { resetEvent.Add(LockSystem.Reset); resetEvent.Add(AdminSystem.Reset); resetEvent.Add(AsteroidWorker.Reset); resetEvent.Add(ChatWorker.Reset); resetEvent.Add(CraftLibraryWorker.Reset); resetEvent.Add(DebugWindow.Reset); resetEvent.Add(DynamicTickWorker.Reset); resetEvent.Add(FlagSyncer.Reset); resetEvent.Add(PlayerColorWorker.Reset); resetEvent.Add(PlayerStatusWindow.Reset); resetEvent.Add(PlayerStatusWorker.Reset); resetEvent.Add(QuickSaveLoader.Reset); resetEvent.Add(ScenarioWorker.Reset); resetEvent.Add(ScreenshotWorker.Reset); resetEvent.Add(TimeSyncer.Reset); resetEvent.Add(VesselWorker.Reset); resetEvent.Add(WarpWorker.Reset); GameEvents.onHideUI.Add(() => { showGUI = false; }); GameEvents.onShowUI.Add(() => { showGUI = true; }); } FireResetEvent(); HandleCommandLineArgs(); DarkLog.Debug("DarkMultiPlayer " + Common.PROGRAM_VERSION + ", protocol " + Common.PROTOCOL_VERSION + " Initialized!"); }
public void Awake() { Profiler.DMPReferenceTime.Start(); GameObject.DontDestroyOnLoad(this); UnityEngine.Debug.Log("KSP installed at " + Assembly.AssemblyPath); UnityEngine.Debug.Log("DMP installed at " + Assembly.AssemblyPath); if (!Assembly.IsValid) { UnityEngine.Debug.LogError("DMP is installed at '" + Assembly.AssemblyPath + "', It should be installed at '" + Assembly.AssemblyValidPath + "'"); return; } m_assembly = new KerbalAssembly(); m_settings = new Settings(); m_modWorker.BuildModuleList(); // UI m_incorrectInstallView = null; m_modView = new ModWindow(); m_disclaimerWindow = null; if (Settings.DisclaimerAccepted != 1 && m_disclaimerWindow == null) { m_disableMod = true; m_disclaimerWindow = new DisclaimerWindow(); m_disclaimerWindow.Enable(); } SetupDirectoriesIfNeeded(); GameEvents.onHideUI.Add(() => { m_showUI = false; }); GameEvents.onShowUI.Add(() => { m_showUI = true; }); ResetEvent(); HandleCommandLineArgs(); DarkLog.Debug("DarkMultiPlayer " + Common.PROGRAM_VERSION + ", protocol " + Common.PROTOCOL_VERSION + " Initialized!"); }
public void Awake() { Profiler.DMPReferenceTime.Start(); GameObject.DontDestroyOnLoad(this); assemblyPath = new DirectoryInfo(Assembly.GetExecutingAssembly().Location).FullName; string kspPath = new DirectoryInfo(KSPUtil.ApplicationRootPath).FullName; //I find my abuse of Path.Combine distrubing. UnityEngine.Debug.Log("KSP installed at " + kspPath); UnityEngine.Debug.Log("DMP installed at " + assemblyPath); //Prevents symlink warning for development. if (Settings.fetch.disclaimerAccepted != 1) { modDisabled = true; DisclaimerWindow.Enable(); } if (!CompatibilityChecker.IsCompatible()) { modDisabled = true; } #if !DEBUG if (!InstallChecker.IsCorrectlyInstalled()) { modDisabled = true; } #endif SetupDirectoriesIfNeeded(); //UniverseSyncCache needs to run expiry here UniverseSyncCache.fetch.ExpireCache(); //Register events needed to bootstrap the workers. lock (eventLock) { resetEvent.Add(LockSystem.Reset); resetEvent.Add(AdminSystem.Reset); resetEvent.Add(AsteroidWorker.Reset); resetEvent.Add(ChatWorker.Reset); resetEvent.Add(CraftLibraryWorker.Reset); resetEvent.Add(DebugWindow.Reset); resetEvent.Add(DynamicTickWorker.Reset); resetEvent.Add(FlagSyncer.Reset); resetEvent.Add(HackyInAtmoLoader.Reset); resetEvent.Add(PlayerColorWorker.Reset); resetEvent.Add(PlayerStatusWindow.Reset); resetEvent.Add(PlayerStatusWorker.Reset); resetEvent.Add(PartKiller.Reset); resetEvent.Add(ScenarioWorker.Reset); resetEvent.Add(ScreenshotWorker.Reset); resetEvent.Add(TimeSyncer.Reset); resetEvent.Add(ToolbarSupport.Reset); resetEvent.Add(VesselWorker.Reset); resetEvent.Add(WarpWorker.Reset); GameEvents.onHideUI.Add(() => { showGUI = false; }); GameEvents.onShowUI.Add(() => { showGUI = true; }); } FireResetEvent(); HandleCommandLineArgs(); long testTime = Compression.TestSysIOCompression(); DarkLog.Debug("System.IO compression works: " + Compression.sysIOCompressionWorks + ", test time: " + testTime + " ms."); DarkLog.Debug("DarkMultiPlayer " + Common.PROGRAM_VERSION + ", protocol " + Common.PROTOCOL_VERSION + " Initialized!"); }