public void onDeleteButtonClick(IGumpComponent gumpComponent, object param) { GumpButton button = gumpComponent as GumpButton; if (button != null) { try { int idx = button.Param; var elements = m_editorState.RendererToEdit.Elements.OrderBy(element => element.Z); BaseCompendiumPageElement elementToRemove = m_editorState.SelectedElement; BaseCompendiumPageElement elementToSelect = null; int count = elements.Count(); if (count > 1) { if (idx < count - 1) { elementToSelect = elements.ElementAt(idx + 1); } else if (idx == count - 1) { elementToSelect = elements.ElementAt(idx - 1); } } m_editorState.SelectedElement = elementToSelect; m_editorState.RendererToEdit.SelectedElement = elementToSelect; m_editorState.RendererToEdit.Elements.Remove(elementToRemove); } catch (Exception e) { if (Compendium.LOG_ERRORS) { Console.WriteLine("An exception was caught while trying to delete a compendium element"); Console.WriteLine(e); } } } m_editorState.Refresh(); }
public void onSaveButtonClick(GumpButton entry, int param) { if (!m_displayErrorMessage && !string.IsNullOrEmpty(m_gumpName) && !string.IsNullOrWhiteSpace(m_gumpName)) { m_state.RendererToEdit.Name = m_gumpName; m_state.RendererToEdit.Serialize(); if (Compendium.g_CompendiumRenderers.ContainsKey(m_state.RendererToEdit.Name)) { Compendium.g_CompendiumRenderers[m_state.RendererToEdit.Name] = m_state.RendererToEdit; } else { Compendium.g_CompendiumRenderers.Add(m_state.RendererToEdit.Name, m_state.RendererToEdit); } m_state.Refresh(); } else { Refresh(); } }