DioKyrie / OpenGCK

OpenGCK is an open source modding tool for games using .esm; .esp; .esl file formats.
MIT License
1 stars 1 forks source link

Logic behind UI/UX changes. #15

Open DioKyrie opened 2 weeks ago

DioKyrie commented 2 weeks ago

UI is more likely to have its functionality as a stable solid UI rather then a lot of windows. Do not make a lot of recursive movements through the windows, all features should be present as is in tab. So more like a Hammer World Editor.

  1. So User selects a tab dedicated to certain field of work.
  2. In this tab all UI is predefined. See bottom of this issue for UI layout for each specific tab.
  3. If there is a need for extra functionality then indeed a window is the only choice.

All vanilla objects are split among wide side bar on each tab, new rules can be defined in settings inside of list of unsorted objects in case of unexpected things or master being custom mod.

List of tabs: Home - A home tab with all the basic need to start the work. List of plugins in game folder so you can set a master plugins. A button to select active plugin. A button to save active plugin. A button to create new plugin. New plugins creation opens a window to enter all details of plugin, and select a location for it. A button to Load plugin opens window to select a plugin with window being the game directory. In list of plugins to select as master plugins you can check mark, and have a plus button on top to add more locations for master plugins, a buttons in bottom to save master plugins for active plugin.

Settings - WIP. Settings are stored in plugin's .metadata file as any other metadata of plugins. A theme selection. A language selection. New locations that user wants to add to list in prefab 3d viewport. List of unsorted objects(right click, send to..., choose a tab). A list of supported games directory paths.

Level Editor/Level Designer - Has top bar with buttons for most used features. Has wide right bar with for objects manipulation. Has wide left bar with local objects from current location. In the rest of space it has 3d viewport in center(On top bar there is a button to open prefab 3d viewport, this viewport has a top bar with selection of locations containing prefabs and assets, no changes can be made inside of prefab 3d viewport.) The viewport is focused only when cursor is inside of it, cursor is still visible. Active 3d viewport has highlighted borders in a green color. *Level Designer has a toggle button to only interact with design objects and not level structure.

Roombounds - Has two wide panels on both sides one for manipulation with portals on left and one for manipulation with roombounds on right. On each side panel there is a toggle button that is highlighted in green color when active, so user can only work with roombounds or portals at a time.In center there is a 3d viewport that can not affect no objects except portals, roombounds, etc.

NavMesh/Lighting/Sound/Animation - Has double the wide right panel with all needs, has a scroll bar as well. Has wide left bar with local objects from current location. Has 3d viewport on right side. *An animation previewer is a fast way to test animation. Should support raw animations not packed in plugin. can open a folder as a list of animations. Characters can be added and customized of their equipment, race, etc. Objects can be added and linked to animation in the 3d viewport.

DioKyrie commented 2 weeks ago

A top bar should have a history as one of the buttons. Add top bar to all of work tabs where a history can be needed.