Files
tbd-station-14/Content.Shared/Storage/ItemCounter/SharedMapLayerData.cs
Ygg01 3fd28c2565 Added mapped storage for things like crayon belts and tools (#4201)
* Added mapped storage for things like crayon belts and tools

* Attempt to get StorageFillEvent to work

* Managed to get it working with Visualizer logi

* Improved PR and did some light refactoring of components

* Update Content.Client/Storage/Visualizers/MappedItemVisualizer.cs

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>

* Removed event, went with stateful ApperanceData

* Removed ids in favor of whitelist

* Refactor YAML, Moved functionality to Shared and renamed it.

* Changed so insert/remove always send full state.

* Move logic to component

* Fix some issues on MappedVisualizer and few nitpicks

- Fix mapped visualizer only doing init or update layers
- Fixed naming of systems
- Fixed sort of crayons

* Forgot to apply Vera's suggestion

* Fix the data to be more strict and to avoid unnecessary clearing

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2021-07-22 02:56:55 -07:00

46 lines
1.1 KiB
C#

using System;
using System.Collections.Generic;
using Content.Shared.Whitelist;
using Robust.Shared.Serialization;
using Robust.Shared.Serialization.Manager.Attributes;
namespace Content.Shared.Storage.ItemCounter
{
[Serializable, NetSerializable]
public enum StorageMapVisuals : sbyte
{
InitLayers,
LayerChanged,
}
[Serializable]
[DataDefinition]
public class SharedMapLayerData
{
public string Layer = string.Empty;
[DataField("whitelist", required: true)]
public EntityWhitelist Whitelist { get; set; } = new();
}
[Serializable, NetSerializable]
public class ShowLayerData
{
public IReadOnlyList<string> QueuedEntities { get; internal set; }
public ShowLayerData()
{
QueuedEntities = new List<string>();
}
public ShowLayerData(IReadOnlyList<string> other)
{
QueuedEntities = other;
}
public ShowLayerData(ShowLayerData other)
{
QueuedEntities = other.QueuedEntities;
}
}
}