Delta-v/Content.Server/GameObjects/Components
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
..
Access Move access levels to prototypes. 2020-01-19 18:30:09 +01:00
Cargo API changes, renamed SpawnEntityAt to SpawnEntity. 2020-01-24 16:10:48 -08:00
Chemistry Add solution pouring / click-transfer (#574) 2020-01-29 02:07:02 +01:00
Construction API changes, renamed SpawnEntityAt to SpawnEntity. 2020-01-24 16:10:48 -08:00
Damage API changes, renamed SpawnEntityAt to SpawnEntity. 2020-01-24 16:10:48 -08:00
Doors CollidableComponent and ICollideableComponent namespace was changed in the engine. 2020-01-11 14:12:20 -08:00
Explosion Fixed a bunch of unused variables warnings (#492) 2019-12-15 14:12:23 +01:00
GUI Fix crash on human deletion. 2020-01-26 19:52:09 +01:00
Healing Use automatic component registration. 2019-07-31 15:07:54 +02:00
Instruments Adds playable instruments, IDropped, IHandSelected and IHandDese… (#368) 2019-11-25 00:11:47 +01:00
Interactable Fix flashlights not updating status when battery inserted. 2020-01-12 02:02:58 +01:00
Items Fix PickUp verb showing up for entities in containers (#567) 2020-01-26 14:00:59 +01:00
Markers Makes players spawn on job spawn markers on roundstart (#543) 2020-01-23 17:31:47 +01:00
Medical CollidableComponent and ICollideableComponent namespace was changed in the engine. 2020-01-11 14:12:20 -08:00
Mining Rider static analysis (#433) 2019-11-13 23:37:46 +01:00
Mobs Remove bad use of GetAssemblyByName. 2020-01-25 20:39:39 +01:00
Movement GridCoordinates API changes. 2020-01-25 01:39:14 -08:00
Nutrition Add solution pouring / click-transfer (#574) 2020-01-29 02:07:02 +01:00
Power GridCoordinates API changes. 2020-01-25 01:39:14 -08:00
Projectiles CollidableComponent and ICollideableComponent namespace was changed in the engine. 2020-01-11 14:12:20 -08:00
Research API changes, renamed SpawnEntityAt to SpawnEntity. 2020-01-24 16:10:48 -08:00
Sound Rider static analysis (#433) 2019-11-13 23:37:46 +01:00
Stack Item status! 2020-01-09 00:28:04 +01:00
Temperature Use automatic component registration. 2019-07-31 15:07:54 +02:00
Timing Use Delay Component (#540) 2020-01-22 23:08:14 +01:00
Trigger/TimerTrigger Use automatic component registration. 2019-07-31 15:07:54 +02:00
VendingMachines API changes, renamed SpawnEntityAt to SpawnEntity. 2020-01-24 16:10:48 -08:00
Weapon Raycast API changes. 2020-01-25 13:55:29 -08:00
CatwalkComponent.cs Use automatic component registration. 2019-07-31 15:07:54 +02:00
ComputerComponent.cs Eris computer sprites, visualizer. 2019-08-12 18:43:24 +02:00
MagicMirrorComponent.cs added Character Setup (#511) 2020-01-18 01:54:13 +01:00
PlaceableSurfaceComponent.cs Use automatic component registration. 2019-07-31 15:07:54 +02:00
RotatableComponent.cs Basic rotatable component (#416) 2019-11-06 17:22:26 +01:00
WiresComponent.cs Wire colors are now unique (#407) 2019-10-21 23:54:29 +02:00
Wrenchable.cs Basic wrenchable component (#418) 2019-11-06 17:22:55 +01:00