/// <summary> /// Removes a hook from the current project /// </summary> /// <param name="hook"></param> public void RemoveHook(Hook hook) { Manifest manifest = CurrentProject.GetManifest(hook.AssemblyName); manifest.Hooks.Remove(hook); CurrentProject.Save(CurrentProjectFilename); foreach (TabPage tabpage in tabview.TabPages) { if (tabpage.Tag is HookViewControl && (tabpage.Tag as HookViewControl).Hook == hook) { tabview.TabPages.Remove(tabpage); break; } } TreeNode hooks = null; foreach (var node in objectview.Nodes) { if ((node as TreeNode).Text == "Hooks") { hooks = node as TreeNode; break; } } if (hooks == null) { return; } foreach (var node in hooks.Nodes) { if ((node as TreeNode).Tag == hook) { hooks.Nodes.Remove(node as TreeNode); break; } } }
/// <summary> /// Adds a hook to the current project /// </summary> /// <param name="hook"></param> public void AddHook(Hook hook) { Manifest manifest = CurrentProject.GetManifest(hook.AssemblyName); manifest.Hooks.Add(hook); CurrentProject.Save(CurrentProjectFilename); TreeNode hooks = null; foreach (var node in objectview.Nodes) { if ((node as TreeNode).Text == "Hooks") { hooks = node as TreeNode; break; } } if (hooks == null) { return; } TreeNode hooknode = new TreeNode(hook.Name); if (hook.Flagged) { hooknode.ImageKey = "script_error.png"; hooknode.SelectedImageKey = "script_error.png"; } else { hooknode.ImageKey = "script_lightning.png"; hooknode.SelectedImageKey = "script_lightning.png"; } hooknode.Tag = hook; hooks.Nodes.Add(hooknode); }