public sealed class ClientFoodSequenceSystem : SharedFoodSequenceSystem
{
+ [Dependency] private readonly SpriteSystem _sprite = default!;
+
public override void Initialize()
{
SubscribeLocalEvent<FoodSequenceStartPointComponent, AfterAutoHandleStateEvent>(OnHandleState);
//Remove old layers
foreach (var key in start.Comp.RevealedLayers)
{
- sprite.RemoveLayer(key);
+ _sprite.RemoveLayer((start.Owner, sprite), key);
}
start.Comp.RevealedLayers.Clear();
var keyCode = $"food-layer-{counter}";
start.Comp.RevealedLayers.Add(keyCode);
- sprite.LayerMapTryGet(start.Comp.TargetLayerMap, out var index);
+ _sprite.LayerMapTryGet((start.Owner, sprite), start.Comp.TargetLayerMap, out var index, false);
if (start.Comp.InverseLayers)
index++;
- sprite.AddBlankLayer(index);
- sprite.LayerMapSet(keyCode, index);
- sprite.LayerSetSprite(index, state.Sprite);
- sprite.LayerSetScale(index, state.Scale);
+ _sprite.AddBlankLayer((start.Owner, sprite), index);
+ _sprite.LayerMapSet((start.Owner, sprite), keyCode, index);
+ _sprite.LayerSetSprite((start.Owner, sprite), index, state.Sprite);
+ _sprite.LayerSetScale((start.Owner, sprite), index, state.Scale);
//Offset the layer
var layerPos = start.Comp.StartPosition;
layerPos += (start.Comp.Offset * counter) + state.LocalOffset;
- sprite.LayerSetOffset(index, layerPos);
+ _sprite.LayerSetOffset((start.Owner, sprite), index, layerPos);
counter++;
}