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

Make more windows use multidrop-like selection #73549

Open
XygenSS opened this issue May 6, 2024 · 5 comments
Open

Make more windows use multidrop-like selection #73549

XygenSS opened this issue May 6, 2024 · 5 comments
Labels
stale Closed for lack of activity, but still valid. <Suggestion / Discussion> Talk it out before implementing

Comments

@XygenSS
Copy link
Contributor

XygenSS commented May 6, 2024

Is your feature request related to a problem? Please describe.

Related issues: #73531, #72477, #72514, #68765, #71560, #64065, #71131, #70887, #54622

I'm struggling to articulate the issue so bear with me here.

Currently many of our UI windows are a "select one" window, such as the "wear" action:
Screenshot_2024-05-06-20-59-46-919_com cleverraven cataclysmdda experimental-edit
And more irritatingly, the "heat up food" menu as well, as shown by the numerous issues linked.
Instead of tackling these UI issues one by one, creating a unified standard window that can be slightly modified per application would be better both in terms of UX and development.
Merging "Select one" and "Select multiple" options wherever it makes sense can also reduce button-pushes in gameplay.

Solution you would like.

A "Unified Multiselect Menu" that is consistent in layout and flexible.

The following windows/actions should use the multiselect window:

  • Activate
  • Pick up items
  • Drop/adjacent drop items
  • Eat
  • Wear/take off
  • Heat up
  • Unload
  • Disassemble/cut up/uncraft
  • Others (Read SD cards, First aid, etc)

For each instance, the following information should be displayed:

  • List of items/entries the action pertains to
  • List of items/entries you have selected
  • Time it will take to execute the action
  • Any additional info (energy required to heat, volume of items unloaded, kcal and quench consumed, etc...)
  • Basic keybinding info as we have currently.

Importantly, pressing ENTER on an entry while having no selections would select and activate that entry (if it is a stack of items, activate only one). This makes it so that you don't need to press 6 to select a single entry before ENTERing, which would add an unnecessary keypress for actions that migrate from "select one" type windows. This behavior probably should also be shown next to the keybindings info.

Additionally, all the current global actions, such as [w] to quickly wield, [W] to quickly wear, and [E] to quickly eat (dangerous?), as well as keybinds to collapse/expand all containers, should work as well.

Very crude mock-ups:
Screenshot_2024-05-06-21-26-26-759_com android chrome-edit

Screenshot_2024-05-06-21-32-55-225_com android chrome-edit

Screenshot_2024-05-06-21-39-14-127_com android chrome-edit

Describe alternatives you have considered.

Some actions simply do not work with multiple selections and must demand a single selection only, such as the first aid window. These actions should be left alone (probably the better solution), or made to use the unified multiselect window with a flag/limitation of "single selection only."

Additional context

https://discord.com/channels/598523535169945603/598535827169083403/1228584346664042496

more menus should use multidrop-type window
Snup: As someone who added multidrop-type windows to more menus, I'd say that's a valid feature request for github.

@XygenSS XygenSS added the <Suggestion / Discussion> Talk it out before implementing label May 6, 2024
@Consoleable
Copy link
Contributor

I definitely agree with this.
I wouldn't mind helping with this if it gets drafted as a PR. Whenever possible, I like to add functionality to the game that I and others want. With the UI, i'm a bit intimidated to start on it due to how the UI cpp is organized. If someone picks this up send me a message, i'd be happy to contribute.

@yuganxia
Copy link
Contributor

yuganxia commented May 7, 2024

Indeed, there are tons of repetitive actions within the game now that could be simplified. Another thing I'd like to simplify is butcher menu. A unified solution is definite helpful. I'll try to help with this too.

@PatrikLundell
Copy link
Contributor

I would suggest the introduction of a sibling of UI list that returned a list of results rather than a single one.

It would be possible to change UI list to return a list, but that would require all usages to be changed, as well as some kind of logic to indicate that only a single return value would be permitted when applicable.

It can be noted that there are some cases that can't be rescued by the simple introduction of a multi result UI (such as the horror of the bloated camp crafting menu when pages upon pages of entries are piled in an unsorted (and unsortable) pile, when something with internal structures akin to the regular crafting UI is needed), but many cases could benefit from this comparatively simple introduction.

@PGR-14
Copy link

PGR-14 commented May 7, 2024

Indeed, there are tons of repetitive actions within the game now that could be simplified. Another thing I'd like to simplify is butcher menu. A unified solution is definite helpful. I'll try to help with this too.

I'd agree, w/ dissecting some & butchering others.

Copy link
Contributor

github-actions bot commented Jun 6, 2024

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. Please do not bump or comment on this issue unless you are actively working on it. Stale issues, and stale issues that are closed are still considered.

@github-actions github-actions bot added the stale Closed for lack of activity, but still valid. label Jun 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
stale Closed for lack of activity, but still valid. <Suggestion / Discussion> Talk it out before implementing
Projects
None yet
Development

No branches or pull requests

5 participants