Skip to content
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

Add a Tool Settings panel to the GridMap bottom panel #11206

Open
Nodragem opened this issue Nov 21, 2024 · 3 comments
Open

Add a Tool Settings panel to the GridMap bottom panel #11206

Nodragem opened this issue Nov 21, 2024 · 3 comments

Comments

@Nodragem
Copy link

Nodragem commented Nov 21, 2024

Describe the project you are working on

I work on this starter kit, which uses Gridmap a lot:
https://github.com/Nodragem/top-down-action-adventure-starter-kit

Describe the problem or limitation you are having in your project

I would like to add parameters to the different tools we have in the Gridmap editor.

For instance:

But there might be a lot more, which we can discuss here, for each tool.

The issue is that the space in the top bar is very limited, and these tool parameters don't really belongs to the inspector. They are not parameters of the Gridmap.

Describe the feature / enhancement and how it helps to overcome the problem or limitation

The solution I ssuggest is to add a tool settings panel on the right of the Gridmap Editor:
Image
(this is a old mockup made before I implemented the bottom panel, hence why it looks different)

Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams

See above.

If this enhancement will not be used often, can it be worked around with a few lines of script?

No.

Is there a reason why this should be core and not an add-on in the asset library?

Gridmap is core.

@Calinou Calinou changed the title Tool Settings panel in the Gridmap's bottom panel Move Tool Settings panel to the GridMap bottom panel Nov 21, 2024
@badsectoracula
Copy link

This mockup also makes me think that the line and rectangle tools (which i guess are things not implemented yet though they'd be very useful, especially rectangle) could be a single "shape" tool to save horizontal space for narrower monitors and more tools down the line. Then you'd select the shape you want (arbitrary line, line snapped to horizontal or vertical axis, filled rectangle, outlined rectangle) to paint from the properties (i think the panel should be a generic container for each tool to expose any sort of UI - e.g. the shape's modes would be different buttons). This would also allow more freedom for adding shapes.

In the same vain, the select tool could have also different modes and extra commands like a "flood fill select" (like the magic wand in editor) or "select all cells with the same item" (those would need non-rectangular selections to be implemented first of course - i think there was a proposal for this but can't find it with a quick search). And perhaps the shape code could be made generic enough (all shapes i mentioned work in a "make shape from x1,y1 to x2,y2" so some generic method could provide the cell coordinates / key indices from that, be it by filling some array or calling back a lambda) so that the same shapes and code would be usable for both painting and selecting.

Some tools might need similar properties (e.g. shape, paint and fill tools could have a "replace" or "mask" mode where instead of replacing everything they only replace cells that use a reference item set up as another parameter) but these could be done manually (even if the code underneath would most likely be the same).

@Calinou

This comment has been minimized.

@Calinou Calinou changed the title Move Tool Settings panel to the GridMap bottom panel Add a Tool Settings panel to the GridMap bottom panel Nov 21, 2024
@badsectoracula
Copy link

badsectoracula commented Nov 21, 2024

Also, i don't know if this is possible ATM (especially since from what i can tell Gridmap is essentially a plugin itself), but looking forward it should be a good idea if the individual tools could be done in a modular way so that more tools could be added by editor plugins, especially for game-specific stuff.

For example i was looking into #11161 and thought that the requested methods (not the example functionality mentioned, IMO that should be part of the gridmap editor itself) could be useful for game-specific tools like, e.g., setting up custom parameters per cell (the actual parameters would be saved somewhere else in a game-specific manner) by selecting one or more cells and having some custom UI to setup those parameters.

What i had in mind was a bit more hacky but if tools are done in a modular way, it could be done in a more seamless manner - essentially the game-specific script/plugin adding a new tool into the palette.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants