prototype composition (#9979) & updates submodule

* prototype composition

* a

* fixes build

* fixes test

* updates submodule

Co-authored-by: Paul Ritter <ritter.paul1@gmail.com>
This commit is contained in:
Paul Ritter
2022-08-01 14:39:37 +02:00
committed by GitHub
parent aae6da27f9
commit f77aff7b94
9 changed files with 33 additions and 37 deletions

View File

@@ -9,6 +9,7 @@ using Robust.Shared.Map;
using Robust.Shared.Prototypes;
using Robust.Shared.Random;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.Array;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.Dictionary;
namespace Content.Shared.Chemistry.Reagent
@@ -30,8 +31,8 @@ namespace Content.Shared.Chemistry.Reagent
[DataField("group")]
public string Group { get; } = "Unknown";
[ParentDataFieldAttribute(typeof(AbstractPrototypeIdSerializer<ReagentPrototype>))]
public string? Parent { get; private set; }
[ParentDataFieldAttribute(typeof(AbstractPrototypeIdArraySerializer<ReagentPrototype>))]
public string[]? Parents { get; private set; }
[NeverPushInheritance]
[AbstractDataFieldAttribute]

View File

@@ -1,5 +1,7 @@
using Robust.Shared.Prototypes;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.Array;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.Array;
namespace Content.Shared.Disease
{
@@ -18,8 +20,8 @@ namespace Content.Shared.Disease
[DataField("name")]
public string Name { get; } = string.Empty;
[ParentDataFieldAttribute(typeof(AbstractPrototypeIdSerializer<DiseasePrototype>))]
public string? Parent { get; private set; }
[ParentDataFieldAttribute(typeof(AbstractPrototypeIdArraySerializer<DiseasePrototype>))]
public string[]? Parents { get; private set; }
[NeverPushInheritance]
[AbstractDataFieldAttribute]

View File

@@ -4,6 +4,7 @@ using Robust.Shared.Audio;
using Robust.Shared.Map;
using Robust.Shared.Prototypes;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.Array;
namespace Content.Shared.Maps
{
@@ -11,8 +12,8 @@ namespace Content.Shared.Maps
[Prototype("tile")]
public sealed class ContentTileDefinition : IPrototype, IInheritingPrototype, ITileDefinition
{
[ParentDataFieldAttribute(typeof(AbstractPrototypeIdSerializer<ContentTileDefinition>))]
public string? Parent { get; private set; }
[ParentDataFieldAttribute(typeof(AbstractPrototypeIdArraySerializer<ContentTileDefinition>))]
public string[]? Parents { get; private set; }
[NeverPushInheritance]
[AbstractDataFieldAttribute]

View File

@@ -1,6 +1,7 @@
using Content.Shared.Stacks;
using Robust.Shared.Prototypes;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.Array;
using Robust.Shared.Utility;
namespace Content.Shared.Materials
@@ -13,8 +14,8 @@ namespace Content.Shared.Materials
public sealed class MaterialPrototype : IPrototype, IInheritingPrototype
{
[ViewVariables]
[ParentDataField(typeof(AbstractPrototypeIdSerializer<MaterialPrototype>))]
public string? Parent { get; } = null;
[ParentDataField(typeof(AbstractPrototypeIdArraySerializer<MaterialPrototype>))]
public string[]? Parents { get; }
[ViewVariables]
[AbstractDataFieldAttribute]

View File

@@ -1,5 +1,6 @@
using Robust.Shared.Prototypes;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.Array;
namespace Content.Shared.Polymorph
{
@@ -17,8 +18,8 @@ namespace Content.Shared.Polymorph
[DataField("name")]
public string Name { get; } = string.Empty;
[ParentDataField(typeof(AbstractPrototypeIdSerializer<PolymorphPrototype>))]
public string? Parent { get; private set; }
[ParentDataField(typeof(AbstractPrototypeIdArraySerializer<PolymorphPrototype>))]
public string[]? Parents { get; private set; }
[NeverPushInheritance]
[AbstractDataFieldAttribute]