Resolves CreamPiedVisualizer is Obsolete (#13894)

This commit is contained in:
TemporalOroboros
2023-02-04 18:06:02 -08:00
committed by GitHub
parent 6738f2a8d4
commit 8e18d1f41f
2 changed files with 9 additions and 54 deletions

View File

@@ -1,52 +0,0 @@
using Content.Shared.Nutrition.Components;
using JetBrains.Annotations;
using Robust.Client.GameObjects;
using Robust.Shared.GameObjects;
using Robust.Shared.IoC;
using Robust.Shared.Serialization.Manager.Attributes;
namespace Content.Client.Nutrition.Visualizers
{
[UsedImplicitly]
public sealed class CreamPiedVisualizer : AppearanceVisualizer
{
[DataField("state")]
private string? _state;
[Obsolete("Subscribe to your component being initialised instead.")]
public override void InitializeEntity(EntityUid entity)
{
base.InitializeEntity(entity);
var sprite = IoCManager.Resolve<IEntityManager>().GetComponent<SpriteComponent>(entity);
sprite.LayerMapReserveBlank(CreamPiedVisualLayers.Pie);
sprite.LayerSetRSI(CreamPiedVisualLayers.Pie, "Effects/creampie.rsi");
sprite.LayerSetVisible(CreamPiedVisualLayers.Pie, false);
}
[Obsolete("Subscribe to AppearanceChangeEvent instead.")]
public override void OnChangeData(AppearanceComponent component)
{
base.OnChangeData(component);
if (component.TryGetData<bool>(CreamPiedVisuals.Creamed, out var pied))
{
SetPied(component, pied);
}
}
private void SetPied(AppearanceComponent component, bool pied)
{
var sprite = IoCManager.Resolve<IEntityManager>().GetComponent<SpriteComponent>(component.Owner);
sprite.LayerSetVisible(CreamPiedVisualLayers.Pie, pied);
sprite.LayerSetState(CreamPiedVisualLayers.Pie, _state);
}
}
public enum CreamPiedVisualLayers : byte
{
Pie,
}
}

View File

@@ -142,6 +142,10 @@
- map: [ "head" ]
- map: [ "pocket1" ]
- map: [ "pocket2" ]
- map: [ "clownedon" ] # Dynamically generated
sprite: "Effects/creampie.rsi"
state: "creampie_human"
visible: false
- type: Physics
bodyType: KinematicController
- type: Fixtures
@@ -225,9 +229,12 @@
Burn:
sprite: Mobs/Effects/burn_damage.rsi
- type: Appearance
- type: GenericVisualizer
visuals:
- type: CreamPiedVisualizer
state: creampie_human
enum.CreamPiedVisuals.Creamed:
clownedon: # Not 'creampied' bc I can already see Skyrat complaining about conflicts.
True: {visible: true}
False: {visible: false}
- type: RotationVisuals
- type: FloatingVisuals
- type: FireVisuals