using Robust.Shared.Prototypes;
using Robust.Shared.Serialization;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.List;
namespace Content.Shared.Damage.Prototypes
{
///
/// A damage container which can be used to specify support for various damage types.
///
///
/// This is effectively just a list of damage types that can be specified in YAML files using both damage types
/// and damage groups. Currently this is only used to specify what damage types a should support.
///
[Prototype]
[Serializable, NetSerializable]
public sealed partial class DamageContainerPrototype : IPrototype
{
[ViewVariables]
[IdDataField]
public string ID { get; private set; } = default!;
///
/// List of damage groups that are supported by this container.
///
[DataField("supportedGroups", customTypeSerializer: typeof(PrototypeIdListSerializer))]
public List SupportedGroups = new();
///
/// Partial List of damage types supported by this container. Note that members of the damage groups listed
/// in are also supported, but they are not included in this list.
///
[DataField("supportedTypes", customTypeSerializer: typeof(PrototypeIdListSerializer))]
public List SupportedTypes = new();
}
}