using System;
namespace Robust.Shared.Serialization.Manager.Attributes
{
///
/// When inheriting a field from a parent, always merge the two fields when such behavior exists.
/// This is unlike the normal behavior where the child's field will always overwrite the parent's.
///
/// Merging is done at a YAML level by merging mappings and sequences recursively.
///
///
///
/// - id: Parent
/// myField: [Foo, Bar]
///
/// - id: Child
/// parents: [Parent]
/// myField: [Baz, Qux]
///
/// Which, when deserialized and assuming myField is marked with AlwaysPushInheritance, will result in data that
/// looks like this:
///
/// - id: Child
/// myField: [Foo, Bar, Baz, Qux]
///
/// compared to the default behavior:
///
/// - id: Child
/// myField: [Baz, Qux]
///
///
[AttributeUsage(AttributeTargets.Field | AttributeTargets.Property)]
public sealed class AlwaysPushInheritanceAttribute : Attribute
{
}
}