internal static void Init() { AssemblyLoader.LoadedAssembyList _assemblies = AssemblyLoader.loadedAssemblies; Type _type = null; foreach (var _assembly in _assemblies) { if (_assembly.name == "ProbeControlRoom") { Type[] types = _assembly.assembly.GetExportedTypes(); foreach (Type type in types) { if (type.FullName == "ProbeControlRoom.ProbeControlRoom") { _type = type; break; } } } } if (_type != null) { Instance = Activator.CreateInstance(_type); if (Instance != null) { Method_startIVA = _type.GetMethod("startIVA", new Type[] { }, new ParameterModifier[] { }); Field_isActive = _type.GetField("isActive", BindingFlags.Static | BindingFlags.Public); Property_vesselCanStockIVA = _type.GetProperty("vesselCanStockIVA"); if (Method_startIVA == null) { Warning("No ProbeControlRoom.startIVA()", "QProbeControlRoom"); return; } if (Property_vesselCanStockIVA == null) { Warning("No ProbeControlRoom.vesselCanStockIVA", "QProbeControlRoom"); return; } if (Field_isActive == null) { Warning("No ProbeControlRoom.isActive", "QProbeControlRoom"); return; } isLoaded = true; } else { Warning("No ProbeControlRoom.Instance", "QProbeControlRoom"); } } else { Warning("No ProbeControlRoom.Assembly", "QProbeControlRoom"); } }
public static bool needLongWait() { AssemblyLoader.LoadedAssembyList _assemblies = AssemblyLoader.loadedAssemblies; for (int _i = _assemblies.Count - 1; _i >= 0; --_i) { AssemblyLoader.LoadedAssembly _assembly = _assemblies[_i]; if (longWait.Contains(_assembly.name)) { return(true); } } return(false); }
void cleanMiniAVC() { AssemblyLoader.LoadedAssembyList _assemblies = AssemblyLoader.loadedAssemblies; for (int _i = _assemblies.Count - 1; _i >= 0; --_i) { AssemblyLoader.LoadedAssembly _assembly = _assemblies[_i]; if (_assembly.name.ToLower() == "miniavc") { _assembly.Unload(); AssemblyLoader.loadedAssemblies.RemoveAt(_i); DoCleanup(_assembly.path); } } FindAllDLLs(); if (duplicateDlls.Count > 0) { this.gameObject.AddComponent <IssueGui>(); } }
void cleanMiniAVC() { AssemblyLoader.LoadedAssembyList _assemblies = AssemblyLoader.loadedAssemblies; for (int _i = _assemblies.Count - 1; _i >= 0; --_i) { AssemblyLoader.LoadedAssembly _assembly = _assemblies[_i]; if (_assembly.name == "MiniAVC") { _assembly.Unload(); AssemblyLoader.loadedAssemblies.RemoveAt(_i); string _mod = mod(_assembly.path); string _prunePath = _assembly.path + pruneExt; if (File.Exists(_prunePath)) { File.Delete(_prunePath); } if (prune) { File.Move(_assembly.path, _prunePath); ConfigNode _cfgMod = config.AddNode("mod"); _cfgMod.AddValue("name", _mod); _cfgMod.AddValue("pruned", _prunePath); screenMsg("MiniAVC pruned for " + _mod); } else if (delete) { File.Delete(_assembly.path); screenMsg("MiniAVC deleted for " + _mod); } else { screenMsg("MiniAVC disabled for " + _mod); } } } }