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

v0.1.2 #2

Open
wants to merge 5 commits into
base: main
Choose a base branch
from
Open

v0.1.2 #2

wants to merge 5 commits into from

Conversation

Atermnus
Copy link

@Atermnus Atermnus commented Oct 11, 2024

Added the following features :

-Clicking on a Resource opens it up on the Inspector (thanks to @KingTempest07 for that)
-Double clicking on a Folder opens up the respective script of the Resource
-Right clicking on a Folder allows you to color it and its respective Resources (saved as meta-data "COLOR_HINT" in the respective script of the Resource)
-Added a button for expand/contract all folders
-Folder's expansion/contraction is now stored when switching tabs/adding a new item

image

Added the following features :

-Clicking on a Resource opens it up on the Inspector (@KingTempest07 for adding that features)
-Double clicking on a Folder opens up the respective script of the Resource
-Right clicking on a Folder allows you to color it and its respective Resources (saved as meta-data "COLOR_HINT" in the respective script of the Resource)
-Added a button for expand/contract all folders
-Folder's expansion/contraction is now stored when switching tabs/adding a new items
@Atermnus Atermnus mentioned this pull request Oct 11, 2024
Added following fixes :

-Search function

Fixed coloring - wasn't getting stored, metadata doesn't get stored in .gd files

Now stored in data.tres along with other data.
@Atermnus Atermnus changed the title v0.1.1 v0.1.2 Oct 11, 2024
@KingTempest07
Copy link

KingTempest07 commented Oct 13, 2024

If you plan on adding more, I have a few things I think would be nice to have:

  • Renaming like that of the file system
    • Double-click the name or right-click and press the rename button
  • Filtering by resource type
    • Blacklist/whitelist
  • Visible icons
    • In the file system, icons assigned by @icon (or [Icon] in C#) are visible, but the resource window currently does not seem to have that functionality, instead replacing all of them with the default icon.
  • Option to show scripts, scenes, etc. (built-in/not custom resources)
    • This may be a bit unnecessary and leaning more towards just being the file system, but technically they are still resources and would be expected to show up there. This may also fit in with the filter option I suggested previously.
    • This might conflict with the folder structure I suggested.

For this last idea I had, you might just want to ignore this unless you have any ideas on how to make it work better or be more useful. For one, I don't think I explained my thoughts that well, but it also has a lot of flaws in the design. But I do think it could serve a genuine niche use if designed better. I figure I should still leave it here, though.

  • Option to use exact folder paths rather than type organization
    • As in using the actual folder layout of the project rather than the current one based on the resource type.
    • I'm not sure what the root dropdown types would be, but I think the best option would be to make the user add the ones they want manually.
      • My problem with automatic dropdown generation with this layout is that it would be either too specific or not specific enough. For instance, it may just do all resources and have only one dropdown, go one layer deep and have a few dropdowns but you need to search intensely, go two layers deep and have confusing dropdowns that may separate related resource types, or go to each individual type at the end of the chain and have WAY too many dropdowns that might only have one resource at the end of it.
    • I reason that it would be helpful not to have to search for the folder you want to add a new resource to every time. Currently, the workaround is to dig for the folder you want to place it in with the file system, search for a resource type from the list, and then add it, but it would be much more streamlined to simply right-click the folder and add it. It may not be worth the effort though lol. Plus I figure you would still have to search for the specific resource type unless you can automatically filter the resource selection menu by type, which I don't think you can(?).

And I really do appreciate your additions so far to this! I would try to help out a bit more with functional additions, but I honestly am kinda clueless when it comes to UI and editor stuff lol. That one addition you mentioned I made took me about 20 minutes to figure out lmao. I just like designing stuff, so I avoid that like the plague

Edit: also just figured I probably should've made this separate issues lol, I'll probably do that later

@Atermnus
Copy link
Author

Atermnus commented Oct 13, 2024

Hey! Yeah I might add more features, I'm really liking it so far, I use a ton of custom resources, I find them very handy and applicable at most cases, most of my stuff in my game is custom resources instead of relying on multiple scenes, so organizing them and making them easily accessible is something I was looking for, and this was a good start.

So, about adding scenes/scripts, the way that I'm currently working, is that scripts are on a separate tab (I script on 2nd monitor), so my scripts are in the search function there. Also for scenes, I have a plugin installed (tabmanager I think?) that has that functionality, but not for custom resources! I think a plugin that features both would probably end up being a File manager like you said. I'm not sure about the functionality of such an addon and what it would entail, and there are improved file manager plugins out there. I feel this is just a separate tab for resources only that presents them in a handy fast way. For me it's a 2nd tab in my dock next to file manager when i need to search something fast. If it had multiple tabs as well, it would probably end up feeling bloated. Maybe a separate tab all-together for scenes? Scripts are neatly packaged in the script editor, I don't really see a reason for that.

Adding icons is not difficult, I'm assuming they would simply inherit the one from the folder, I can easily add that.

Filter by resource type, well search bar works like that. I could add a filter button that selects specific classes and only displays those, but just typing "curse_effect" on the search bar or something is just as fast (we're devs after all!)

Renaming is something I'll definitely add, probs with right-click cause double-clicking and editing a tree item is gonna have a few problems (replacing the label with textedit etc).

Would like some feedback from @warent as well regarding these features and a potential merge, code is clean but not documented, will document it at a later date.

@warent
Copy link
Contributor

warent commented Oct 14, 2024

Hey guys, I just tried out the PR and it looks fantastic, thanks! Happy to merge it in soon.

The only question I have is about the addons/ResourcePlus/src/data.tres. What purpose does that serve / should we .gitignore it? I noticed the one in your PR seems to have some project-specific data.

@warent
Copy link
Contributor

warent commented Oct 14, 2024

Regarding all the other comments: will happily review and reply to these later when I have more time. Thanks again for the awesome contributions.

@Atermnus
Copy link
Author

I'm doing some more polishing - the data.tres is a custom resource type that saves the collapse tag of each element of the tree, as well as the colour of each class - given that you can't store meta-data to scripts in Godot.

I've added a few more things, like class icons appearing on each resource, creating a new resource type by right-clicking on a blank space (as well as an icon for it on top left) etc.

Will update later today.

Fixed various bugs.

Cleaned up UI.
Added new feature to create new resource type with button.
@Atermnus
Copy link
Author

Cleaned up the code! Also to answer your question, yes, the data.tres should be .gitignore'd, a new one will be created when the user loads up the addon and store all appropriate info there.

Waiting for review & merge.

Cheers!

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

Successfully merging this pull request may close these issues.

3 participants