UOGumpEditor is a versatile and powerful tool for creating, editing, and managing gumps (graphical user interface elements) for the Ultima Online game. This tool provides a user-friendly interface for both new and experienced developers to design and customize gumps easily.
- Drag-and-Drop Interface: Easily add and move elements on the canvas.
- Element Layering: Manage the z-order of elements to bring them to the front or send them to the back.
- Image and Text Support: Add images and text to your gumps, with customization options for fonts, colors, and alignment.
- Background and Button Art: Load and display background and button art assets.
- Preview and Edit: Preview the gump elements and edit their properties in real-time.
- Save and Load: Save your gump designs to files and load them back for further editing.
To get started with UOGumpEditor, follow these steps:
-
Clone the Repository:
git clone https://github.com/KitaByte/UOGumpEditor.git cd UOGumpEditor
-
Install Dependencies Ensure you have .NET installed. You can download it from here.
-
Build the Project Open the solution file (
UOGumpEditor.sln
) in Visual Studio and build the project.
- Canvas Panel: This is where you design your gumps. You can drag and drop elements onto this panel.
- Element Properties: Select an element on the canvas to edit its properties, such as size, location, text, and image.
- Toolbar: Provides quick access to save, load, and export functions, as well as tools for adding different types of elements.
- Drag and Drop: Drag elements from the toolbox onto the canvas.
- Adjust Properties: Select an element to view and edit its properties in the properties panel.
- Move Up/Down: Use the context menu or toolbar buttons to move selected elements up or down in the z-order.
- Save Gump: Save your current gump design to a file for later use.
- Load Gump: Load a previously saved gump file into the editor.
- Arrow Keys: Move the selected element on the canvas.
- Ctrl+S: Save the current gump.
- Ctrl+O: Open a saved gump.
The main application logic is contained in the UOGumpEditor
namespace, including:
- UOGumpEditorUI: The main form class, handling the user interface.
- UOEditorCore: Core functionalities for managing elements and art assets.
- ElementControl: Custom control class for gump elements, supporting text and image rendering.
Handles the serialization and deserialization of gump data:
- BaseGump: Represents a gump design, containing a list of
GumpElement
objects. - GumpElement: Represents individual elements within a gump, including their properties and art data.
Manages loading and accessing art assets used in gumps:
- AssetData: Static class providing access to gump and item art assets.
We welcome contributions! Please fork the repository and submit pull requests with your changes. Ensure your code follows the project's coding standards and includes appropriate tests.
This project is licensed under the MIT License. See the LICENSE file for more details.
For questions or feedback, please open an issue on GitHub or contact us at [https://www.uoopenai.com/wilson].