Commit Graph

60 Commits

Author SHA1 Message Date
Brandon Hu 1b4a42c174 add(TransferAmountWindow): QoL stuff (#30464)
* ugh
2024-08-09 18:18:02 +01:00
metalgearsloth 87a4203267 Reapply "Remove some BUI boilerplate" (#30214) (#30219)
* Reapply "Remove some BUI boilerplate" (#30214)

This reverts commit cb0ba66be38677d248ce11f809221230ebe89642.

* Fix gas tank

* Fix PA

* Fix microwave

* Comms console underwrap

* Fix rcd

* log wehs
2024-08-09 17:52:22 +01:00
Nemanja ac0a73c039 Revert "Remove some BUI boilerplate" (#30214)
Revert "Remove some BUI boilerplate (#28399)"

This reverts commit cbf329a82d77eed2bb5e51666dab5d8a21fd3fff.
2024-08-09 17:52:21 +01:00
metalgearsloth 7af5d3dbaf Remove some BUI boilerplate (#28399)
* 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
2024-08-09 17:51:47 +01:00
Brandon Li 6a83e2bb1b
Reagent dispenser UI (Again) (#27958)
* 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
2024-05-18 13:59:16 +02:00
ike709 55e435ad97
Adds Support for Guidebook Buttons in UIs (#27891)
* 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>
2024-05-18 13:52:13 +02:00
Brandon Li 1e60c8642b
Reagent dispenser UI (#27831)
* 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;`
2024-05-18 13:48:42 +02:00
Ed ca9465cb8c
remove Injector SolutionName constant (#27493)
remove stupid constant
2024-05-07 03:45:17 +02:00
Pieter-Jan Briers 176e9b0a81
THE RETURN OF ITEM STATUS (#22986)
* 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>

(cherry picked from commit 58f025ba8043bcf5c32204b08eec8ae9e5d2bd41)
2024-04-21 23:41:08 +02:00
Plykiya 7182e0f674
Injector UI shows TransferAmount change, Spilling liquid changes Injector mode (#26596)
* Injector UI shows TransferAmount change, spill changes mode

* Update Content.Shared/Fluids/SharedPuddleSystem.Spillable.cs

* Update Content.Shared/Fluids/SharedPuddleSystem.Spillable.cs

---------

Co-authored-by: Plykiya <plykiya@protonmail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
(cherry picked from commit d71062a64c569d59bc67c950a34454eef7ccaa14)
2024-04-07 14:21:27 +02:00
Plykiya 8d8a7b2004
Hyposprays Draw from Jugs (#25544)
* 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>
(cherry picked from commit f192d7901fedd134c38a6cab38731f8e93994492)
2024-04-07 14:14:28 +02:00
Plykiya 9adf84fb89
Syringe UI cached updates (#25581)
Injector status UI cached values

Co-authored-by: Plykiya <plykiya@protonmail.com>
(cherry picked from commit dffd02adb161f8299e858fb6c0c2eb71e595e21f)
2024-03-07 00:57:12 +01:00
Tayrtahn f40668818b
Add a container display to dispenser UI (#25391)
* Implemented contents display for dispenser UI

* Update Content.Client/Chemistry/UI/ReagentDispenserWindow.xaml.cs

Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>

* Resolve the netent into a euid first

---------

Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
(cherry picked from commit 100ece2e2078ab2fe99f4ce1ab36b2cd05319772)
2024-03-07 00:53:04 +01:00
Pieter-Jan Briers 1031a93942
Predict Injector (syringes), cleanup (#25235)
At least the mode/transfer amount logic. Actual transfer logic needs Bloodstream which I didn't wanna move into shared.

(cherry picked from commit 6d8be538c90cf4c3a6636e2f8b84631af457cd42)
2024-02-18 23:11:33 +01:00
Guillaume E 1e519836da
Keep reagent dispenser inventory ordered (#24304)
* 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.

(cherry picked from commit 4ee734951455da15eedaf766cee1f64b48959702)
2024-01-28 00:33:34 +01:00
Kevin Zheng 9cc361921b
Add limited-reagent dispensers (#23907)
* 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>
(cherry picked from commit 9394a262458df76d9c4156f147bed902e3feac75)
2024-01-26 23:03:30 +01:00
Itzbenz 918c466ce7 Allow Chemical Dispenser to be scrollable (#20800) 2023-10-20 15:31:13 +02:00
Leon Friedrich e4ca6f4fb9
Allow solutions to store extra reagent data (#19323) 2023-09-05 07:55:10 +10:00
Kara ec02907446
Various bar-related fixes (#19126)
* Various bar-related fixes

* smartfwidge

* gumbo
2023-08-14 15:03:20 -06:00
PrPleGoo 7c088ac1de
Job icons are stored on ID cards (#18233) 2023-07-29 18:25:27 +10:00
TemporalOroboros 3ac4cf85db
Cleaner BoundUserInterfaces (#17736) 2023-07-09 02:02:17 +10:00
metalgearsloth 68480af109
Update content vectors to numerics (#17759) 2023-07-08 14:08:32 +10:00
metalgearsloth ae01618874
Revert "Revert "Replace `ResourcePath` with `ResPath` (#15308)" (#155… (#15566) 2023-04-20 20:16:01 +10:00
metalgearsloth acf79a8209
Revert "Replace `ResourcePath` with `ResPath` (#15308)" (#15551) 2023-04-20 11:43:54 +10:00
Ygg01 71f358a027
Replace `ResourcePath` with `ResPath` (#15308) 2023-04-19 23:39:17 +10:00
DEATHB4DEFEAT c02dd02c34
uichange Chemmaster (#14237) 2023-04-05 16:55:14 -06:00
Visne c6d3e4f3bd
Fix warnings and code cleanup/fixes (#13570) 2023-01-19 13:56:45 +11:00
0x6273 a2e6ab2d07
Cap ChemMaster label length (#12260)
* Cap ChemMaster label length

* Reroll for green checkmark
2022-10-28 12:43:59 -05:00
0x6273 0c24f8b69b
ReagentDispenser ECS (#11418) 2022-10-03 17:57:32 -07:00
Illiux 71e46de0fc
Rework the ChemMaster's output handling (#11207)
* 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>
2022-09-14 19:10:12 -05:00
Alex Evgrashin 385a52c390
Remove IItemStatus (#11055) 2022-09-10 23:53:17 -07:00
0x6273 0c8e52c163
ChemMaster ECS (#11052) 2022-09-05 22:06:47 -07:00
Kara 63b147e111
Chem entity nerf (#11037) 2022-09-05 18:43:04 -07:00
Leon Friedrich 921e2ee57d
BUI changes required for Engine PR (#10608) 2022-08-21 03:38:30 +10:00
Linus Wacker d40b81e74c
increases pillAmount limit (#9185)
* increases pillAmount limit

* Update ChemMasterWindow.xaml.cs

Co-authored-by: wrexbe <81056464+wrexbe@users.noreply.github.com>
2022-08-14 21:57:31 -07:00
metalgearsloth 45bd1edd5b
Revert "Update submodule to 0.34.0.0 (#10356)" (#10359) 2022-08-06 16:48:21 +10:00
Leon Friedrich e06ea56eb2
Content BUI changes for engine PR (#10308) 2022-08-06 14:59:02 +10:00
Alex Evgrashin 860db943e1
Reagents localization (#7916)
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2022-05-12 21:06:01 +10:00
Leon Friedrich 80699543d9
Make grinder use item slots (& misc eject-button changes) (#7197) 2022-03-27 21:03:03 -07:00
mirrorcult ec4d4688c7
Seal/abstract/virtual everything (#6739) 2022-02-16 18:23:23 +11:00
Ygg01 340158483b
Change width of dispensers (#6419) 2022-01-31 16:55:38 -07:00
wrexbe cea1b21832
Fixing some warnings (#6250)
Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>
2022-01-21 10:38:35 +01:00
Spartak 30c87ca6b2
Added auto label for ChemMaster (#5596) 2021-11-28 19:25:23 -07:00
Spartak b06becaf98
Adds pills type selection and pills canister (#5539)
* Added pill type selection

Ui textures missing for now

* bugfixes

* Pill type selection

* ui changes

* Added pills canister

* Change requests
2021-11-26 23:44:36 -07:00
Leon Friedrich 317cc2f8e9
fix BUI close (#5523) 2021-11-25 20:37:18 -07:00
20kdc 42891ea3a7
Chem master / chem dispenser minor fixes (#5152)
* Fix ChemMaster buffer view when there's no beaker in the ChemMaster

* Fix reagent dispenser 100 button
2021-11-03 20:22:48 -07:00
mirrorcult 3ab4a30a0f
Generalize ReagentUnit into FixedPoint2 and use it for damage calculations (#5151)
* Damage units

* sum ext method
2021-11-03 16:48:03 -07:00
Paul 066d1e60a3 fixes typo in ReagentDispenserWindow.xaml 2021-10-31 13:47:32 +01:00
Ygg01 905d4db0fe
Convert ChemDispenser Window to XAML UI (#5040)
* Appease the Github diff

* Complete the rest of the UI

* Change access to public
2021-10-29 14:48:01 +02:00
Visne ac78145b94
Remove encapsulation for previously protected XAML UI fields (#4975) 2021-10-28 14:23:17 +02:00