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

Loadouts V3 #736

Merged
merged 44 commits into from
Sep 6, 2024
Merged

Loadouts V3 #736

merged 44 commits into from
Sep 6, 2024

Conversation

DEATHB4DEFEAT
Copy link
Member

@DEATHB4DEFEAT DEATHB4DEFEAT commented Aug 15, 2024

Description

Resolves #723
Resolves #708
Resolves #691
Resolves #671
Resolves #643

Adding/removing loadouts and categories (and trait stuff) will require disconnecting and reconnecting to the server (or anything that will reload the lobby UI) due to how I've done my caching.


TODO

  • Test entity IDs from loadouts
  • Better Tab Container
    • Scroll props
    • Margin props
    • Make vertical work
    • Merge buttons
  • Subcategories
    • Allow the same for traits (their tab is completely broken)
  • Give the Job Picker tab a BoxContainer
  • Different selected unusable color
  • Deselect unusable button
  • Sort menu/Reverse sort direction button
  • Fix scroll resetting on updating
    • Cache loadouts
  • Ensure everything that can affect reqs updates everything that checks reqs
  • More Requirements
    • Height
    • Width
    • Weight
    • Gender
    • Sex
    • Markings
    • Logic
      • And
      • Or
      • Xor
    • Item groups
  • Automatically Remove Loadouts Invalid For Species #643
  • Something better than Exclusive
    • Allow picking slots for things to go in (hands and inventories too)
  • Add a background to the loadout spriteView
  • Get better style colors

  • More PRs
    • Remove duplicate command loadouts that are outside the command folders/categories
    • Categorize job loadouts (By dept?)
    • Fix every loadout's IDs (who reviewed them??)
      • Make loadout ID migrations?

Media

New loadouts/traits UI

image

image

NeoTabContainer allows changing the tab orientation

https://youtu.be/krg8TJoQG3I

image

image


Changelog

🆑

  • fix: The loadout/trait editors' performance has been improved by 100~1000x
  • tweak: The character editor's tabs look, feel, and function much better
  • fix: Unusable loadouts/traits have an orange color when selected
  • tweak: Loadout previews are now inside the button
  • add: Added a button to remove any unusable loadouts (or traits) you have selected
  • add: Loadouts and traits can have subcategories, though only Command loadouts use them at the moment
  • fix: Fixed empty loadout categories not hiding
  • fix: Fixed spacing on some loadout requirements' reason text
  • fix: Fixed traits not updating after saving

@DEATHB4DEFEAT DEATHB4DEFEAT added Priority: 3-Medium Needs to be resolved at some point Size: 2-Large For large issues/PRs Type: Feature Creation of or significant changes to a feature Type: Rework Large changes to a system, like a mix between the Balancing, Codebase, and Respace labels Type: Bug [Un]intentional issue with something labels Aug 15, 2024
@github-actions github-actions bot added Changes: C# Changes any cs files Changes: Localization Changes any ftl files labels Aug 15, 2024
@github-actions github-actions bot added the Changes: UI Changes any XAML files label Aug 15, 2024
@github-actions github-actions bot added the Changes: YML Changes any yml files label Aug 26, 2024
@DEATHB4DEFEAT DEATHB4DEFEAT marked this pull request as ready for review September 4, 2024 02:36
@DEATHB4DEFEAT DEATHB4DEFEAT added the Status: Do Not Merge Do not merge label Sep 4, 2024
@github-actions github-actions bot added the Status: Needs Review Someone please review this label Sep 4, 2024
@DEATHB4DEFEAT
Copy link
Member Author

image

Copy link
Member

@VMSolidus VMSolidus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

8mb.video-nf0-2JsAcOsG.mp4

This isn't a proper review yet, I am merely noting it here that I have verified through ingame testing(video provided) that this PR works as advertised. I will however need to go over this with a fine toothed comb, and also make my PR-PR that changes CowToolbox to serve as the "Extreme OR XOR shitton of new loadout requirements" testing tool, and also demonstrate to would-be-yml-contributors how the new system works.

@DEATHB4DEFEAT DEATHB4DEFEAT removed the Status: Do Not Merge Do not merge label Sep 5, 2024
Copy link
Member

@VMSolidus VMSolidus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just this small change.

Comment on lines +183 to +189
{
if (!_tabs.TryGetValue(control, out var button))
return;

if (button is Button b)
b.Text = title;
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
{
if (!_tabs.TryGetValue(control, out var button))
return;
if (button is Button b)
b.Text = title;
}
{
if (!_tabs.TryGetValue(control, out var button)
|| button is not Button b)
return;
b.Text = title;
}

@VMSolidus VMSolidus merged commit fa1d3d3 into Simple-Station:master Sep 6, 2024
11 checks passed
SimpleStation14 added a commit that referenced this pull request Sep 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Changes: C# Changes any cs files Changes: Localization Changes any ftl files Changes: UI Changes any XAML files Changes: YML Changes any yml files Priority: 3-Medium Needs to be resolved at some point Size: 2-Large For large issues/PRs Status: Needs Review Someone please review this Type: Bug [Un]intentional issue with something Type: Feature Creation of or significant changes to a feature Type: Rework Large changes to a system, like a mix between the Balancing, Codebase, and Respace labels
Projects
None yet
3 participants