* Adding sorting to chem master
* Chem Master can now sort based on following categories
- Alphabetical
- Quantity
- Time Added to Machine
* Sorting is disabled by default and persist in the machine for everyone
* Removed some pointless code from Chem Master's UI
* Changed None and Time Added's text to reflect what they do better
* Minor adjustments to the code requested by maintainers
* chemmaster buffer has colors now
* I have saved chemists everywhere
* implimented panelcontainers instead of labels, slight visual rework
* added UI changes to input buffer
* fixed some unsightly indentation on brackets and removed redundant minheight specification from verticalstretch elements
* Formatting and code cleanup
* pills still not rendering correctly
* more tinkering, entities finally display correctly
* entities display correctly, pill fields default to max now
* fixed stripes
* fixed excess pillCount bug
* removed cache, fixed tab swapping
---------
Co-authored-by: Saphire <lattice@saphi.re>
* Remove some BUI boilerplate
- The disposals overrides got removed due to the helper method handling it.
- Replace window creation with CreateWindow helper.
- Fixed some stinky code which would cause exceptions.
* More
* moar
* weh
* done
* More BUIs
* More updates
* weh
* moar
* look who it is
* weh
* merge
* weh
* fixes
* reagent dispenser: fancy window
* reagent dispenser: dispense button grid
* reagent dispenser: rearrange containers & info
* reagent dispenser: remove `reagent-dispenser-window-container-label`
* reagent dispenser: add `Scrollcontainer` on right side
* reagent dispenser: get rid of pointless actions
* reagent dispenser: cleanup actions and `inventory` field on bound ui state
* reagent dispenser: cool reagent cards & finishing touches
* reagent dispenser: final cleanup and formatting
* reagent dispenser: `ButtonGrid` and `ReagentDispenserSetDispenseAmountMessage` refactor
* reagent dispenser: cleanup code & address minor concerns
* reagent dispenser: text in reagent cards no longer clips
* reagent dispenser: oh wait i forgot to change this and thats why the builds keep failing probably
* reagent dispenser mayybe this
* reagent dispenser: remove `using FastAccessors;`
* delete unused classes
* disable reagent button when container is empty
* Make things a bit bigger
* remove obsolete text color override
* Adds Support for Guidebook Buttons in UIs
* read it from the component
* the code is perfect
* moony review
---------
Co-authored-by: ike709 <ike709@github.com>
* THE RETURN OF ITEM STATUS
Item status is now inline with the hands again. You can now see item status for both hands at once.
If you have more than 2 hands, the last active hand of that side is displayed in the respective item status.
The item status for the active hand is also highlighted.
Item status has been given a new look so it looks unique and matches every UI theme.
* Shrink item status to 125px
This is going to require fixing the existing controls. Do that later.
* New bullet item status rendering
sex
* Make gun item status look just a little bit nicer.
Avoid only one or two bullets ending up on a single row of an item status.
* Delete Eris theme files
* More improvements
Fixed the fact that left/right were flipped around when assigning status panel locations. Involved renaming all the UI textures.
Redid how content margins are set from the theme. Less complex and cleaner now.
Made the item name always left-aligned, just looks better since other UI elements don't adapt anyways.
* Compact down item status text
Now it fits 3 lines of text on one line. Yay.
This is achieved by compacting RichTextLabels by reducing their line height and giving them a negative bottom margin.
* Add item status sprites for Ashen theme.
* Add status control to show beaker/bucket/jug solution/transfer volumes
Also PollingItemStatusControl I'll be using that more.
* Fix welder item status, clean up welder code
The item status control implementation was ancient and bad. That's why it was buggy.
Removed all the complex dated networking stuff for welders, we just sync the solution contents now anyways so none of that is needed anymore. This moves a buncha stuff to shared and just removes code.
Cleanup. The code was doing some really dumb stuff.
* Spray bottles show contents in item status.
* cowtools
* Fix plasmafire and clockwork themes.
Actual git gaslighting wtf.
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* Hyposprays Draw from Jugs
* Fix last onlyMobs usage in yml
* Some Suggested Changes
* Remove unnecessary datafield name declarations
* Remove unnecessary dirtying of component
* Same line parentheses
* Added client-side HypospraySystem
* Cache UI values and only updates if values change
* empty line
* Update label
* Label change
* Reimplement ReactionMixerSystem
* Remove DataField from Hypospray Toggle Mode
* Change ToggleMode from enum to Bool OnlyAffectsMobs
* Add DataField required back since it's required for replays...?
* update EligibleEntity and uses of it
* Add user argument back
* Adds newline
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Guard for dirty entity
* Adds summary tag
---------
Co-authored-by: Plykiya <plykiya@protonmail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Keep reagent dispenser inventory ordered
This way, reagents wont be "moving around" in the UI when juggling
jugs.
The reagent dispensers will also show what reagents their storage
slots contain if jugs are not labelled.
* Move sorting client-side
* Revert "Keep reagent dispenser inventory ordered"
This reverts commit 3a1fc2e36d593937d4ecc581ae5a617a273a9d1c.
* Add limited-reagent dispensers
* Add empty versions for all dispensers
* Fix lint
* Set initial window size so all buttons are visible
* Simplify logic, add parenthesis
* Use localized name for initial labels
* Adjust button style
* Avoid touching items before MapInit
* Remove pre-labeling
* Reduce diff
* Clean up YAML
* Fix test
* Really fix test
* Document
* Adjust based on review
* Add labels for obnoxiously long bottles
---------
Co-authored-by: AWF <you@example.com>
* Fix doc comment on FitsInDispenserComponent
It's clearly intended to be a doc comment, but wasn't.
* Allow the ChemMaster to accept canisters and bottles
* Give the ChemMaster an output container slot
* Tweak ChemMaster UI layout
* Make more ChemMaster UI tweaks
* Update ChemMaster SpinBox max handling
* Rework the ChemMaster
* Apply suggestions from code review
Co-authored-by: Flipp Syder <76629141+vulppine@users.noreply.github.com>
* Implement PR feedback
* Switch ChemMaster to a tabbed UI layout
* Rename Amount to Dosage for clarity
* Replace Amount with Dosage in messages
* Clarify dose in UI
Co-authored-by: Flipp Syder <76629141+vulppine@users.noreply.github.com>