CatStation/Content.Client
moneyl 972d601664
Add solution pouring / click-transfer (#574)
* Add click-based solution transfer

For example, clicking on a beaker with a soda can to transfer the soda to the beaker. Works on plain solution containers like beakers and also on open drink containers like soda cans as long as they have the `PourIn` and `PourOut` solution  capabilities. If no `SolutionComponent` is added to a drink entity, the `DrinkComponent` will give the entity one. This PR extends that behavior slightly by also giving these default `SolutionComponent`'s the proper capabilities for pouring in/out.

* Improve fix for poured drinks not immediately disappearing

Instead of making `DrinkComponent.Use` public this 
 splits out the code important to both users and made that function public, leaving `Use` private.

* Shorten solution transfer popup

* Make code review changes

- Move pouring code from SolutionComponent to new PourableComponent. Added PourableComponent to client ignore list and added to existing container prototypes.
- Added EmptyVolume property to shared SolutionComponent for convenience.
- Removed DrinkComponent fix from pouring AttackBy code. Instead DrinkComponent subscribes to the SolutionChanged action and updates its self when necessary.
- Fixed pouring being able to add more than a containers max volume and sometimes deleting reagents.
- Added message for when a container is full.

* More code review changes

- Remove IAttackBy ComponentReference attribute in PourableComponent
- Remove _transferAmount from shared SolutionComponent. Left over var from previous commit not being used anymore.
2020-01-29 02:07:02 +01:00
..
Chat UI Layout v2. (#489) 2019-12-05 16:00:03 +01:00
Commands Rename toolbox references from ss14 to robust 2019-04-15 21:11:38 -06:00
Construction UI Layout v2. (#489) 2019-12-05 16:00:03 +01:00
GameObjects Fix crash on reconnect. 2020-01-26 23:53:33 +01:00
GameTicking Unset ready status when opening character setup (#522) 2020-01-20 00:15:39 +01:00
GlobalVerbs Add global verbs (#400) 2019-10-30 16:31:35 +01:00
Graphics/Overlays Rider static analysis (#433) 2019-11-13 23:37:46 +01:00
Input Combat mode improvements. 2020-01-26 03:38:51 +01:00
Instruments UI Layout v2. (#489) 2019-12-05 16:00:03 +01:00
Interfaces Implement StorageButton on HandsGUI and click empty hand to swap… (#517) 2020-01-18 03:41:47 +01:00
Parallax Fix parallax on resolutions greater than 1920x1080 (#564) 2020-01-26 14:02:12 +01:00
Research UI Layout v2. (#489) 2019-12-05 16:00:03 +01:00
Sandbox UI Layout v2. (#489) 2019-12-05 16:00:03 +01:00
State GridCoordinates API changes. 2020-01-25 01:39:14 -08:00
UserInterface Update character list when one of them is selected (#561) 2020-01-25 14:37:04 +01:00
Utility Item status! 2020-01-09 00:28:04 +01:00
VendingMachines Rider static analysis (#433) 2019-11-13 23:37:46 +01:00
app.config Updates submodule (#56) 2018-04-12 23:56:43 +02:00
AssemblyInfo.cs Visualize melee weapon cooldowns in HUD. 2019-11-12 01:43:11 +01:00
ClientContentIoC.cs Inventory Input (#503) 2020-01-17 15:43:20 +01:00
ClientModuleTestingCallbacks.cs Improve integration testing 2019-06-29 01:58:16 +02:00
ClientNotifyManager.cs Fixes notify messages causing an exception in UI update. 2020-01-22 23:59:41 +01:00
ClientPreferencesManager.cs added Character Setup (#511) 2020-01-18 01:54:13 +01:00
Content.Client.csproj Content.{Client,Server} are now Exes that can be ran. 2020-01-22 20:17:32 +01:00
EntryPoint.cs Add solution pouring / click-transfer (#574) 2020-01-29 02:07:02 +01:00
EscapeMenuOwner.cs GameScreen moved to content. 2019-12-06 00:41:30 +01:00
Program.cs Content.{Client,Server} are now Exes that can be ran. 2020-01-22 20:17:32 +01:00
StaticIoC.cs Item status! 2020-01-09 00:28:04 +01:00