-
Notifications
You must be signed in to change notification settings - Fork 228
Icon Editor for Gameobjects #39
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
|
I have a bit of a hot take on this. The icons should be emoji - not material icons. |
|
remember how I bullied you for the windows 11 emojis before and everyone hated it? please no |
|
_I used material icons for Color changing ability , I could also add emoji icons . To fulfill both sides . Or just emoji . Or that devs could use their own icons_ correction: i will add only emojis since the material icons are not needed . i have to fix some issues with it |
|
an option for emojis sounds perfectly fine |
|
I dont like the fact that its using emojis by default... I dont want to have 100 emojis in my hierarchy by default when creating new objects, prefabs etc... |
its just something i did to demonstrate , how the emoji's would look like . I think its only purpose would be for newcomers to have some kind of recognition since all components icon look the same ... and some QOL features also : the only thing that has an icon is the empty gameobject when making one . |
Removed emoji category tabs and consolidated all emojis into a single 'All Icons' category. This simplifies the UI and internal logic by eliminating category selection and related code. Remove icon search filter from IconPickerWidget since its unuseable Eliminated the filter functionality and related UI elements from IconPickerWidget, simplifying pagination and icon retrieval logic. The widget now displays icons by category without search or filter support. Update IconPickerWidget.cs Expand emoji lists in IconPickerWidget Added more symbols and flag emojis to the SymbolsEmojis and FlagsEmojis arrays in IconPickerWidget.cs to provide a broader selection for users. Improve page handling in IconPickerWidget Resets page index when switching categories based on filter state and adds robust bounds checking for page numbers in Rebuild(). Also removes unused emoji generation code for clarity. Handle icon color tags with variable hex length Added support for both AARRGGBB and RRGGBB formats in icon color tags. Now, color changes properly invalidate the node and fallback to full alpha if only RRGGBB is provided. Add emoji icon support and session icon storage Introduces session-only custom icon storage for GameObjects and adds emoji icon support to the icon picker. GameObject icons now prefer persisted tags (with encoding/decoding) and fall back to session storage. The icon picker UI is updated to allow category selection and display emoji icons. Scene tree and inspector logic updated to handle new icon sources and ensure UI updates on icon changes. Update default icon logic for GameObjects Default icon selection now considers visible children in addition to components. If a GameObject has children that should show in the hierarchy, 'folder_open' is used; otherwise, 'layers' is used for objects with components, and 'folder' for empty objects. Update default GameObject icon logic Changed default icon from 'layers' to 'folder' for GameObjects without components in both inspector and scene tree. The icon now reflects whether a GameObject has components, improving visual clarity. Add custom icon and color support for GameObjects Introduces the ability to set both custom icons and colors for GameObjects via tags. Updates the inspector and scene tree to reflect these customizations, and adds a new IconColorPicker popup for selecting icon and color. Add support for custom GameObject icons via tags Introduced the ability to set custom icons for GameObjects using tags prefixed with 'icon_'. The GameObject inspector header now allows users to pick an icon, which updates the tag and refreshes the scene tree. The scene tree node rendering logic was updated to display the custom icon if present.
|
material icons were nice :/ |
|
I preferred material icons as well. Don't know why Garry thinks emojis would be better, they're uncolorable. |
some of the emojis are colorable ... , having both is great ( material & emojis' ) |
|
I actually like this feature. To each their own -- what if it had? (...)
Everyone is appeased this way. |
Corrected the parent selection logic for object creation in GameObjectNode to use 'new GameObject[] { null }' for root-level creation. Also fixed formatting in IconPickerWidget by removing unnecessary blank lines between emoji category arrays and placing SymbolsEmojis in the correct order.
Consistently applied tab-based indentation across GameObjectHeader, IconTagEncoding, GameObjectNode, and IconPickerWidget classes. This improves code readability and maintains a uniform style in editor tools related to custom icons and tags.
Refactored IconPickerWidget to support Material Icon categories, a sidebar for category selection, and tracking of recently used icons via cookies. Improved UI layout, navigation, and icon selection logic for better usability and extensibility.
Corrected inconsistent indentation in the IconCategories dictionary definition within IconPickerWidget.cs for improved code readability and consistency.
Reformatted the IconPickerWidget.cs file to use tabs for indentation instead of spaces. No functional changes were made; this is a code style update for consistency.
IconPickerWidget now supports both Material Icons and Emojis, with mode toggling, category browsing, and recently used/favorites tracking for each mode. Right-click context menu allows adding/removing icons or emojis to favorites. Emoji categories and lists have been added, and the UI has been updated to accommodate these features.
Refactored IconPickerWidget to load emoji categories from Data/emojis/emojis.json at runtime, falling back to defaults if the file is missing or invalid. This change removes large embedded emoji arrays from the source code, improving maintainability and avoiding encoding issues.
IconPickerWidget now loads emoji categories from a JSON file in the Data/emojis directory, removing hardcoded defaults and the GetOrDefault helper. Added emoji-sequences.txt to the Data/emojis directory for reference.
new.mp4I made some changes: I re-added Material Icons and emojis via JSON, and I also added a “recently used / favorites” feature so you can add or remove icons (via right-click) from your Favorites tab. also removed the folder basic icon when making a new component I’m now considering redesigning the header so the icons and emojis appear on the left side of the panel as small counterpart icons to what’s shown on the right side. |
|
That popup is crazy huge... Feels like its far too much now (especially with the colour picker always being there) |
|
@EternalDawn1 maybe without the color picker? i like it |
|
at risk of adding yet more stuff to the popup a search bar would be pretty slick, especially for the material icons |
|
color picker side by side with the icon picker |
Corrected indentation for the MouseRightClick event handler in IconPickerWidget.cs to improve code readability and maintain consistency. GameObject icon handling to use tags only , hidden tags Removed session-only custom icon storage and now rely solely on tags for persisting GameObject icons. Simplified icon retrieval and assignment logic to improve consistency and persistence across sessions. Remove CustomIconStorage class Deleted the CustomIconStorage static class, which provided session-only storage for custom icons keyed by GameObject reference. This may be part of a refactor or cleanup of unused code. Improve emoji search in IconPickerWidget Enhanced the emoji search functionality to allow searching by emoji names, not just the emoji character. This is achieved by building a reverse mapping from emoji characters to their searchable names using reflection, improving usability when searching for emojis by descriptive terms. Add Favorites category to IconPickerWidget Introduces a 'Favorites' category for both Material Icons and Emojis, updates category sidebar and icon mapping, and improves UI with a background for the content area. Also refines the Main icons list and adjusts search box placeholder text based on mode. Add reset icon functionality to GameObject header Implemented right-click context menu on the GameObject icon button with options to change the icon or reset it to default. Added logic to remove custom icons and related tags, update the UI, and provide a reset button in the icon color picker popup. Revamp icon picker UI and add color selection Refactored IconPickerWidget to improve layout, add a search box, and move mode buttons to a right sidebar. Introduced a color picker button for material icons, allowing users to select icon colors. Updated GameObjectHeader to handle live color updates from the icon picker and streamlined event handling for icon and color changes. back to normal icon when creating gameobject Replaced dynamic icon selection with static icons for game objects in both GameObjectHeader and GameObjectNode. This simplifies the UI by using a consistent icon representation regardless of children or components. Replace emoji-sequences.txt with emojis.json Removed the emoji-sequences.txt file and added emojis.json to update the emoji data source. This change likely transitions from a text-based Unicode emoji sequence format to a JSON format for improved parsing and integration.
vid.mp4i made some changes
|
Corrected indentation in GameObjectNode and IconPickerWidget for improved code readability. Removed unnecessary whitespace in GameObjectHeader. No functional changes were made.
Icon editor for both Hierachy & Inspector Widget
Customizable Icon Colors via Color Picker
Persistent
Material Icons + Emoji Icons
Recent Emojis tab
vid.mp4