private void OnPluginUnloaded(PointBlankPlugin plugin) { foreach (KeyValuePair <DetourAttribute, DetourWrapper> kvp in Detours.Where(a => a.Key.Method.DeclaringType.Assembly == plugin.GetType().Assembly&& !a.Value.Local)) { kvp.Value.Revert(); Detours.Remove(kvp.Key); } }
private void OnPluginUnloaded(PointBlankPlugin plugin) { PluginWrapper wrapper = PM.Plugins.First(a => a.PluginClass == plugin); foreach (KeyValuePair <DetourAttribute, DetourWrapper> kvp in Detours.Where(a => a.Key.Method.DeclaringType.Assembly == wrapper.PluginAssembly && !a.Value.Local)) { kvp.Value.Revert(); Detours.Remove(kvp.Key); } }