diff --git a/SightKeeper.Data/Binary/Model/DataSets/Tags/PackableBooleanItemProperty.cs b/SightKeeper.Data/Binary/Model/DataSets/Tags/PackableBooleanItemProperty.cs new file mode 100644 index 00000000..36f14298 --- /dev/null +++ b/SightKeeper.Data/Binary/Model/DataSets/Tags/PackableBooleanItemProperty.cs @@ -0,0 +1,15 @@ +using MemoryPack; +using SightKeeper.Domain.Model.DataSets.Poser3D; + +namespace SightKeeper.Data.Binary.Model.DataSets.Tags; + +/// +/// MemoryPackable version of +/// +[MemoryPackable] +internal sealed partial class PackableBooleanItemProperty : PackableItemProperty +{ + public PackableBooleanItemProperty(string name) : base(name) + { + } +} \ No newline at end of file diff --git a/SightKeeper.Data/Binary/Model/DataSets/Tags/PackableItemProperty.cs b/SightKeeper.Data/Binary/Model/DataSets/Tags/PackableItemProperty.cs new file mode 100644 index 00000000..d927787a --- /dev/null +++ b/SightKeeper.Data/Binary/Model/DataSets/Tags/PackableItemProperty.cs @@ -0,0 +1,16 @@ +using SightKeeper.Domain.Model.DataSets.Poser; + +namespace SightKeeper.Data.Binary.Model.DataSets.Tags; + +/// +/// MemoryPackable version of +/// +internal abstract class PackableItemProperty +{ + public string Name { get; } + + public PackableItemProperty(string name) + { + Name = name; + } +} \ No newline at end of file diff --git a/SightKeeper.Data/Binary/Model/DataSets/Tags/PackableNumericItemProperty.cs b/SightKeeper.Data/Binary/Model/DataSets/Tags/PackableNumericItemProperty.cs new file mode 100644 index 00000000..77c8362c --- /dev/null +++ b/SightKeeper.Data/Binary/Model/DataSets/Tags/PackableNumericItemProperty.cs @@ -0,0 +1,20 @@ +using MemoryPack; +using SightKeeper.Domain.Model.DataSets.Poser; + +namespace SightKeeper.Data.Binary.Model.DataSets.Tags; + +/// +/// MemoryPackable version of +/// +[MemoryPackable] +internal sealed partial class PackableNumericItemProperty : PackableItemProperty +{ + public double MinimumValue { get; } + public double MaximumValue { get; } + + public PackableNumericItemProperty(string name, double minimumValue, double maximumValue) : base(name) + { + MinimumValue = minimumValue; + MaximumValue = maximumValue; + } +} \ No newline at end of file diff --git a/SightKeeper.Data/Binary/Model/DataSets/Tags/PackablePoser2DTag.cs b/SightKeeper.Data/Binary/Model/DataSets/Tags/PackablePoser2DTag.cs index 145b469c..93abda0b 100644 --- a/SightKeeper.Data/Binary/Model/DataSets/Tags/PackablePoser2DTag.cs +++ b/SightKeeper.Data/Binary/Model/DataSets/Tags/PackablePoser2DTag.cs @@ -10,12 +10,16 @@ namespace SightKeeper.Data.Binary.Model.DataSets.Tags; [MemoryPackable] internal sealed partial class PackablePoser2DTag : PackablePoserTag { + public ImmutableArray NumericProperties { get; } + public PackablePoser2DTag( byte id, string name, uint color, - ImmutableArray keyPointTags) + ImmutableArray keyPointTags, + ImmutableArray numericProperties) : base(id, name, color, keyPointTags) { + NumericProperties = numericProperties; } } \ No newline at end of file diff --git a/SightKeeper.Data/Binary/Model/DataSets/Tags/PackablePoser3DTag.cs b/SightKeeper.Data/Binary/Model/DataSets/Tags/PackablePoser3DTag.cs index 8118d134..d8f3db9b 100644 --- a/SightKeeper.Data/Binary/Model/DataSets/Tags/PackablePoser3DTag.cs +++ b/SightKeeper.Data/Binary/Model/DataSets/Tags/PackablePoser3DTag.cs @@ -10,12 +10,19 @@ namespace SightKeeper.Data.Binary.Model.DataSets.Tags; [MemoryPackable] internal sealed partial class PackablePoser3DTag : PackablePoserTag { + public ImmutableArray NumericProperties { get; } + public ImmutableArray BooleanProperties { get; } + public PackablePoser3DTag( byte id, string name, uint color, - ImmutableArray keyPointTags) + ImmutableArray keyPointTags, + ImmutableArray numericProperties, + ImmutableArray booleanProperties) : base(id, name, color, keyPointTags) { + NumericProperties = numericProperties; + BooleanProperties = booleanProperties; } } \ No newline at end of file diff --git a/SightKeeper.Domain/Model/DataSets/Poser/ItemProperty.cs b/SightKeeper.Domain/Model/DataSets/Poser/ItemProperty.cs index ea85d4b3..cf0d94af 100644 --- a/SightKeeper.Domain/Model/DataSets/Poser/ItemProperty.cs +++ b/SightKeeper.Domain/Model/DataSets/Poser/ItemProperty.cs @@ -8,10 +8,7 @@ public string Name { get => _name; [MemberNotNull(nameof(_name))] - set - { - _name = value; - } + set => _name = value; } protected ItemProperty(string name)