Deprecates DrinkFoodVisualizer.cs in favor of SolutionContainerVisualizer.cs (#3876)

* Initial

* Removes DrinkFoodVisualizer.cs

* Tests
This commit is contained in:
Swept
2021-04-21 21:12:37 +00:00
committed by GitHub
parent 818bdb3c63
commit 465eaa87d3
13 changed files with 107 additions and 175 deletions

View File

@@ -1,38 +0,0 @@
using Content.Shared.GameObjects.Components.Nutrition;
using Content.Shared.Utility;
using JetBrains.Annotations;
using Robust.Client.GameObjects;
using Robust.Shared.Serialization.Manager.Attributes;
using Robust.Shared.Utility;
using YamlDotNet.RepresentationModel;
namespace Content.Client.GameObjects.Components.Nutrition
{
[UsedImplicitly]
public sealed class DrinkFoodVisualizer : AppearanceVisualizer
{
[DataField("steps")]
private int _steps;
public override void OnChangeData(AppearanceComponent component)
{
base.OnChangeData(component);
var sprite = component.Owner.GetComponent<ISpriteComponent>();
if (!component.TryGetData<float>(SharedFoodComponent.FoodVisuals.MaxUses, out var maxUses))
{
return;
}
if (component.TryGetData<float>(SharedFoodComponent.FoodVisuals.Visual, out var usesLeft))
{
var step = ContentHelpers.RoundToLevels(usesLeft, maxUses, _steps);
sprite.LayerSetState(0, $"icon-{step}");
}
else
{
sprite.LayerSetState(0, "icon-0");
}
}
}
}

View File

@@ -7,7 +7,6 @@
ButchCleaver: 1
KitchenKnife: 5
DrinkGlass: 10
DrinkPitcher: 1
DrinkMug: 5
DrinkMugBlack: 2
DrinkMugBlue: 2
@@ -18,4 +17,3 @@
DrinkMugOne: 1
DrinkMugRainbow: 2
DrinkMugRed: 2

View File

@@ -13,7 +13,6 @@
- type: Drink
- type: Sprite
state: icon
- type: Spillable
- type: entity
@@ -45,7 +44,6 @@
- type: DamageOtherOnHit
amount: 5
# Transformable container - normal glass
- type: entity
name: Drinking glass
@@ -76,7 +74,6 @@
- type: Sprite
sprite: Objects/Consumable/Drinks/aleglass.rsi
- type: entity
parent: DrinkGlassBase
id: DrinkAntifreeze
@@ -93,7 +90,6 @@
- type: Sprite
sprite: Objects/Consumable/Drinks/antifreeze.rsi
- type: entity
parent: DrinkGlassBase
id: DrinkAtomicbombglass
@@ -110,7 +106,6 @@
- type: Sprite
sprite: Objects/Consumable/Drinks/atomicbombglass.rsi
- type: entity
parent: DrinkGlassBase
id: DrinkB52Glass
@@ -127,7 +122,6 @@
- type: Sprite
sprite: Objects/Consumable/Drinks/b52glass.rsi
- type: entity
parent: DrinkGlassBase
id: DrinkBananahonkglass
@@ -138,7 +132,6 @@
- type: Sprite
sprite: Objects/Consumable/Drinks/bananahonkglass.rsi
- type: entity
parent: DrinkGlassBase
id: DrinkBeepskySmashGlass
@@ -149,7 +142,6 @@
- type: Sprite
sprite: Objects/Consumable/Drinks/beepskysmashglass.rsi
- type: entity
parent: DrinkGlassBase
id: DrinkBeer
@@ -165,7 +157,6 @@
- type: Sprite
sprite: Objects/Consumable/Drinks/beer.rsi
- type: entity
parent: DrinkGlassBase
id: DrinkBeerglass
@@ -181,7 +172,6 @@
- type: Sprite
sprite: Objects/Consumable/Drinks/beerglass.rsi
- type: entity
parent: DrinkGlassBase
id: DrinkBerryJuice
@@ -198,7 +188,6 @@
- type: Sprite
sprite: Objects/Consumable/Drinks/berryjuice.rsi
- type: entity
parent: DrinkGlassBase
id: DrinkBlackRussianGlass
@@ -209,7 +198,6 @@
- type: Sprite
sprite: Objects/Consumable/Drinks/blackrussianglass.rsi
- type: entity
parent: DrinkGlassBase
id: DrinkBloodyMaryGlass
@@ -220,7 +208,6 @@
- type: Sprite
sprite: Objects/Consumable/Drinks/bloodymaryglass.rsi
- type: entity
parent: DrinkGlassBase
id: DrinkBooger
@@ -231,7 +218,6 @@
- type: Sprite
sprite: Objects/Consumable/Drinks/booger.rsi
- type: entity
parent: DrinkGlassBase
id: DrinkBraveBullGlass
@@ -242,7 +228,6 @@
- type: Sprite
sprite: Objects/Consumable/Drinks/bravebullglass.rsi
- type: entity
parent: DrinkGlassBase
id: DrinkBrownStar
@@ -253,7 +238,6 @@
- type: Sprite
sprite: Objects/Consumable/Drinks/brownstar.rsi
- type: entity
parent: DrinkGlassBase
id: DrinkCarafe
@@ -265,11 +249,6 @@
sprite: Objects/Consumable/Drinks/carafe.rsi
state: icon-10
- type: Appearance
visuals:
- type: DrinkFoodVisualizer
steps: 11
- type: entity
parent: DrinkGlassBase
id: DrinkCarrotJuice
@@ -286,7 +265,6 @@
- type: Sprite
sprite: Objects/Consumable/Drinks/carrotjuice.rsi
- type: entity
parent: DrinkGlassBase
id: DrinkChocolateGlass
@@ -1730,11 +1708,6 @@
sprite: Objects/Consumable/Drinks/water_cup.rsi
state: icon-1
- type: Appearance
visuals:
- type: DrinkFoodVisualizer
steps: 2
- type: entity
parent: DrinkGlassBase
id: DrinkWhiskeyColaGlass
@@ -1814,4 +1787,3 @@
Quantity: 20
- type: Sprite
sprite: Objects/Consumable/Drinks/wineglass.rsi

View File

@@ -13,7 +13,6 @@
isOpen: true
- type: Sprite
state: icon
- type: Spillable
- type: entity
@@ -27,24 +26,6 @@
- type: Sprite
sprite: Objects/Consumable/Drinks/golden_cup.rsi
- type: entity
parent: DrinkBaseCup
id: DrinkPitcher
name: insulated pitcher
description: A stainless steel insulated pitcher. Everyone's best friend in the morning.
components:
- type: SolutionContainer
maxVol: 15
- type: Sprite
sprite: Objects/Consumable/Drinks/pitcher.rsi
state: icon-6
- type: Appearance
visuals:
- type: DrinkFoodVisualizer
steps: 7
- type: entity
parent: DrinkBaseCup
id: DrinkMug
@@ -57,11 +38,6 @@
sprite: Objects/Consumable/Drinks/mug.rsi
state: icon-3
- type: Appearance
visuals:
- type: DrinkFoodVisualizer
steps: 4
- type: entity
parent: DrinkBaseCup
id: DrinkMugBlack
@@ -74,11 +50,6 @@
sprite: Objects/Consumable/Drinks/mug_black.rsi
state: icon-3
- type: Appearance
visuals:
- type: DrinkFoodVisualizer
steps: 4
- type: entity
parent: DrinkBaseCup
id: DrinkMugBlue
@@ -91,11 +62,6 @@
sprite: Objects/Consumable/Drinks/mug_blue.rsi
state: icon-3
- type: Appearance
visuals:
- type: DrinkFoodVisualizer
steps: 4
- type: entity
parent: DrinkBaseCup
id: DrinkMugGreen
@@ -108,11 +74,6 @@
sprite: Objects/Consumable/Drinks/mug_green.rsi
state: icon-3
- type: Appearance
visuals:
- type: DrinkFoodVisualizer
steps: 4
- type: entity
parent: DrinkBaseCup
id: DrinkMugHeart
@@ -125,11 +86,6 @@
sprite: Objects/Consumable/Drinks/mug_heart.rsi
state: icon-3
- type: Appearance
visuals:
- type: DrinkFoodVisualizer
steps: 4
- type: entity
parent: DrinkBaseCup
id: DrinkMugMetal
@@ -142,11 +98,6 @@
sprite: Objects/Consumable/Drinks/mug_metal.rsi
state: icon-3
- type: Appearance
visuals:
- type: DrinkFoodVisualizer
steps: 4
- type: entity
parent: DrinkBaseCup
id: DrinkMugMoebius
@@ -159,11 +110,6 @@
sprite: Objects/Consumable/Drinks/mug_moebius.rsi
state: icon-3
- type: Appearance
visuals:
- type: DrinkFoodVisualizer
steps: 4
- type: entity
parent: DrinkBaseCup
id: DrinkMugOne
@@ -176,11 +122,6 @@
sprite: Objects/Consumable/Drinks/mug_one.rsi
state: icon-3
- type: Appearance
visuals:
- type: DrinkFoodVisualizer
steps: 4
- type: entity
parent: DrinkBaseCup
id: DrinkMugRainbow
@@ -193,11 +134,6 @@
sprite: Objects/Consumable/Drinks/mug_rainbow.rsi
state: icon-3
- type: Appearance
visuals:
- type: DrinkFoodVisualizer
steps: 4
- type: entity
parent: DrinkBaseCup
id: DrinkMugRed
@@ -210,11 +146,6 @@
sprite: Objects/Consumable/Drinks/mug_red.rsi
state: icon-3
- type: Appearance
visuals:
- type: DrinkFoodVisualizer
steps: 4
- type: entity
parent: DrinkBaseCup
id: DrinkHotCoco
@@ -225,7 +156,6 @@
- type: Sprite
sprite: Objects/Consumable/Drinks/hot_coco.rsi
- type: entity
parent: DrinkBaseCup
id: DrinkHotCoffee
@@ -241,7 +171,6 @@
- type: Sprite
sprite: Objects/Consumable/Drinks/hot_coffee.rsi
- type: entity
parent: DrinkBaseCup
id: DrinkTeacup
@@ -258,11 +187,6 @@
sprite: Objects/Consumable/Drinks/teacup.rsi
state: icon-1
- type: Appearance
visuals:
- type: DrinkFoodVisualizer
steps: 2
- type: entity
parent: DrinkBaseCup
id: DrinkLean
@@ -278,6 +202,5 @@
- type: Sprite
sprite: Objects/Consumable/Drinks/lean.rsi
state: icon
- type: Item
sprite: Objects/Consumable/Drinks/lean.rsi

View File

@@ -0,0 +1,59 @@
# For empty check out chemistry bottles
# With cut-out
- type: entity
parent: DrinkBaseCup
id: DrinkVisualizerTestCut
name: insulated pitcher
description: A stainless steel insulated pitcher. Everyone's best friend in the morning.
components:
- type: SolutionContainer
maxVol: 30
contents:
reagents:
- ReagentId: WatermelonJuice
Quantity: 30
- type: Sprite
netsync: false
sprite: Objects/Consumable/Drinks/pitcher.rsi
layers:
- state: icon
- state: fill-6
map: ["enum.SolutionContainerLayers.Fill"]
# REMEMBER IF YOU'RE SPAWNING WITH LIQUID ALREADY IN IT YOU WANT THIS TRUE
visible: true
- type: Appearance
visuals:
- type: SolutionContainerVisualizer
maxFillLevels: 6
fillBaseName: fill-
# Without (For food, non cut-out stuff)
- type: entity
parent: DrinkBaseCup
id: DrinkVisualizerTestNot
name: insulated pitcher
description: A stainless steel insulated pitcher. Everyone's best friend in the morning.
components:
- type: SolutionContainer
maxVol: 30
contents:
reagents:
- ReagentId: WatermelonJuice
Quantity: 30
- type: Sprite
netsync: false
sprite: Objects/Consumable/Drinks/pitcher.rsi
layers:
- state: icon-6
map: ["enum.SolutionContainerLayers.Fill"]
visible: true
- type: Appearance
visuals:
- type: SolutionContainerVisualizer
maxFillLevels: 6
fillBaseName: icon-
changeColor: false
emptySpriteName: icon

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 112 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 115 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 130 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 127 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 140 B

View File

Before

Width:  |  Height:  |  Size: 502 B

After

Width:  |  Height:  |  Size: 502 B

View File

@@ -1,32 +1,50 @@
{
"version": 1,
"size": {
"x": 32,
"y": 32
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Taken from cev-eris at https://github.com/discordia-space/CEV-Eris/commit/d23125a1b04ef77c00da9e7aa7110835672077bb",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "icon"
},
"license": "CC-BY-SA-3.0",
"copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi",
"states": [
{
"name": "icon-0"
},
{
"name": "icon-1"
},
{
"name": "icon-2"
},
{
"name": "icon-3"
},
{
"name": "icon-4"
},
{
"name": "icon-5"
},
{
"name": "icon-6"
}
]
}
{
"name": "icon-1"
},
{
"name": "icon-2"
},
{
"name": "icon-3"
},
{
"name": "icon-4"
},
{
"name": "icon-5"
},
{
"name": "icon-6"
},
{
"name": "fill-1"
},
{
"name": "fill-2"
},
{
"name": "fill-3"
},
{
"name": "fill-4"
},
{
"name": "fill-5"
},
{
"name": "fill-6"
}
]
}