From d0aa50d31f3b6da96bffc194fdc3aa358f37e332 Mon Sep 17 00:00:00 2001 From: Meta Vens Date: Mon, 13 Jul 2026 22:31:36 +0100 Subject: [PATCH] Advertise authorized CultMesh body producers --- .../Runtime/EveProviderDocuments.cs | 17 ++++++++++++----- packages/org.gamecult.eve.surface/package.json | 2 +- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/packages/org.gamecult.eve.surface/Runtime/EveProviderDocuments.cs b/packages/org.gamecult.eve.surface/Runtime/EveProviderDocuments.cs index 874ace8..a52d436 100644 --- a/packages/org.gamecult.eve.surface/Runtime/EveProviderDocuments.cs +++ b/packages/org.gamecult.eve.surface/Runtime/EveProviderDocuments.cs @@ -27,8 +27,9 @@ namespace GameCult.Eve.Surface IReadOnlyList schemas, IReadOnlyList witnesses, IReadOnlyList surfaces, - IReadOnlyList commands) - : this(SchemaId, providerId, serviceId, verseId, title, kind, cultMeshAddress, updatedAtUtc, freshness, schemas, witnesses, surfaces, commands) + IReadOnlyList commands, + IReadOnlyList? authorizedBodyProducerIds = null) + : this(SchemaId, providerId, serviceId, verseId, title, kind, cultMeshAddress, updatedAtUtc, freshness, schemas, witnesses, surfaces, commands, authorizedBodyProducerIds) { } @@ -46,7 +47,8 @@ namespace GameCult.Eve.Surface IReadOnlyList schemas, IReadOnlyList witnesses, IReadOnlyList surfaces, - IReadOnlyList commands) + IReadOnlyList commands, + IReadOnlyList? authorizedBodyProducerIds = null) { Schema = string.IsNullOrWhiteSpace(schema) ? SchemaId : schema; ProviderId = providerId ?? ""; @@ -61,6 +63,7 @@ namespace GameCult.Eve.Surface Witnesses = witnesses ?? Array.Empty(); Surfaces = surfaces ?? Array.Empty(); Commands = commands ?? Array.Empty(); + AuthorizedBodyProducerIds = authorizedBodyProducerIds ?? Array.Empty(); } [Key(0)] public string Schema { get; } @@ -76,6 +79,7 @@ namespace GameCult.Eve.Surface [Key(10)] public IReadOnlyList Witnesses { get; } [Key(11)] public IReadOnlyList Surfaces { get; } [Key(12)] public IReadOnlyList Commands { get; } + [Key(13)] public IReadOnlyList AuthorizedBodyProducerIds { get; } } /// @@ -84,7 +88,7 @@ namespace GameCult.Eve.Surface public sealed class EveProviderAdvertisementCompatibilityFormatter : IMessagePackFormatter { - private const int CurrentFieldCount = 13; + private const int CurrentFieldCount = 14; private const int LegacyFieldCount = 16; public void Serialize( @@ -107,6 +111,7 @@ namespace GameCult.Eve.Surface Formatter>(options).Serialize(ref writer, value.Witnesses, options); Formatter>(options).Serialize(ref writer, value.Surfaces, options); Formatter>(options).Serialize(ref writer, value.Commands, options); + Formatter>(options).Serialize(ref writer, value.AuthorizedBodyProducerIds, options); } public EveProviderAdvertisementDocument? Deserialize( @@ -137,6 +142,7 @@ namespace GameCult.Eve.Surface var witnesses = fields > 10 ? Formatter>(options).Deserialize(ref reader, options) : null; var surfaces = fields > 11 ? Formatter>(options).Deserialize(ref reader, options) : null; var commands = fields > 12 ? Formatter>(options).Deserialize(ref reader, options) : null; + var authorizedBodyProducerIds = fields > 13 ? Formatter>(options).Deserialize(ref reader, options) : null; for (var index = CurrentFieldCount; index < fields; index++) reader.Skip(); return new EveProviderAdvertisementDocument( schema, providerId, serviceId, verseId, title, kind, address, updatedAtUtc, @@ -144,7 +150,8 @@ namespace GameCult.Eve.Surface schemas ?? Array.Empty(), witnesses ?? Array.Empty(), surfaces ?? Array.Empty(), - commands ?? Array.Empty()); + commands ?? Array.Empty(), + authorizedBodyProducerIds ?? Array.Empty()); } finally { reader.Depth--; } } diff --git a/packages/org.gamecult.eve.surface/package.json b/packages/org.gamecult.eve.surface/package.json index a529d21..0da4785 100644 --- a/packages/org.gamecult.eve.surface/package.json +++ b/packages/org.gamecult.eve.surface/package.json @@ -1,7 +1,7 @@ { "name": "org.gamecult.eve.surface", "displayName": "Eve Surface Contract", - "version": "0.2.0", + "version": "0.2.1", "unity": "2021.3", "description": "Unity-compatible DTOs for gamecult.eve.surface.v1 documents.", "dependencies": {