diff --git a/packages/eve-contracts/dist/generated/command-receipt.d.ts b/packages/eve-contracts/dist/generated/command-receipt.d.ts
index 7c6c6c4..c6b4005 100644
--- a/packages/eve-contracts/dist/generated/command-receipt.d.ts
+++ b/packages/eve-contracts/dist/generated/command-receipt.d.ts
@@ -16,6 +16,7 @@ export interface EveCommandReceipt {
sourceVersion: number;
navigation?: {
verseId: string;
+ authorityRuntimeId?: string;
providerId?: string;
surfaceId: string;
surfaceKind?: string;
diff --git a/packages/eve-contracts/src/generated/command-receipt.ts b/packages/eve-contracts/src/generated/command-receipt.ts
index 46a6db4..dee7125 100644
--- a/packages/eve-contracts/src/generated/command-receipt.ts
+++ b/packages/eve-contracts/src/generated/command-receipt.ts
@@ -18,6 +18,7 @@ issuedAtUtc?: string
sourceVersion: number
navigation?: {
verseId: string
+authorityRuntimeId?: string
providerId?: string
surfaceId: string
surfaceKind?: string
diff --git a/packages/eve-contracts/src/generated/schemas.ts b/packages/eve-contracts/src/generated/schemas.ts
index a77d3e3..d54289d 100644
--- a/packages/eve-contracts/src/generated/schemas.ts
+++ b/packages/eve-contracts/src/generated/schemas.ts
@@ -757,6 +757,10 @@ export const eveContractSchemas = {
"type": "string",
"minLength": 1
},
+ "authorityRuntimeId": {
+ "type": "string",
+ "minLength": 1
+ },
"providerId": {
"type": "string"
},
diff --git a/packages/org.gamecult.eve.surface/GameCult.Eve.Surface.csproj b/packages/org.gamecult.eve.surface/GameCult.Eve.Surface.csproj
index 72b5b3f..c3efc08 100644
--- a/packages/org.gamecult.eve.surface/GameCult.Eve.Surface.csproj
+++ b/packages/org.gamecult.eve.surface/GameCult.Eve.Surface.csproj
@@ -6,7 +6,7 @@
enable
Portable Eve surface and provider contracts.
GameCult.Eve.Surface
- 0.3.2
+ 0.3.3
GameCult
MPL-2.0
https://github.com/GameCult/Eve
diff --git a/packages/org.gamecult.eve.surface/Runtime/EveProviderDocuments.cs b/packages/org.gamecult.eve.surface/Runtime/EveProviderDocuments.cs
index 052f05e..7b4621a 100644
--- a/packages/org.gamecult.eve.surface/Runtime/EveProviderDocuments.cs
+++ b/packages/org.gamecult.eve.surface/Runtime/EveProviderDocuments.cs
@@ -546,8 +546,9 @@ namespace GameCult.Eve.Surface
{
if (navigation == null) { writer.WriteNil(); return; }
- writer.WriteMapHeader(5);
+ writer.WriteMapHeader(6);
Write(ref writer, "verseId", navigation.VerseId);
+ Write(ref writer, "authorityRuntimeId", navigation.AuthorityRuntimeId);
Write(ref writer, "providerId", navigation.ProviderId);
Write(ref writer, "surfaceId", navigation.SurfaceId);
Write(ref writer, "surfaceKind", navigation.SurfaceKind);
@@ -571,6 +572,7 @@ namespace GameCult.Eve.Surface
try
{
var verseId = "";
+ var authorityRuntimeId = "";
var providerId = "";
var surfaceId = "";
var surfaceKind = "";
@@ -581,6 +583,7 @@ namespace GameCult.Eve.Surface
switch (reader.ReadString())
{
case "verseId": verseId = ReadString(ref reader); break;
+ case "authorityRuntimeId": authorityRuntimeId = ReadString(ref reader); break;
case "providerId": providerId = ReadString(ref reader); break;
case "surfaceId": surfaceId = ReadString(ref reader); break;
case "surfaceKind": surfaceKind = ReadString(ref reader); break;
@@ -588,7 +591,8 @@ namespace GameCult.Eve.Surface
default: reader.Skip(); break;
}
}
- return new EveSurfaceNavigationTarget(verseId, providerId, surfaceId, surfaceKind, endpoints);
+ return new EveSurfaceNavigationTarget(
+ verseId, providerId, surfaceId, surfaceKind, endpoints, authorityRuntimeId);
}
finally { reader.Depth--; }
}
@@ -626,9 +630,11 @@ namespace GameCult.Eve.Surface
string providerId,
string surfaceId,
string surfaceKind,
- string[]? rendezvousEndpoints = null)
+ string[]? rendezvousEndpoints = null,
+ string authorityRuntimeId = "")
{
VerseId = verseId ?? "";
+ AuthorityRuntimeId = authorityRuntimeId ?? "";
ProviderId = providerId ?? "";
SurfaceId = surfaceId ?? "";
SurfaceKind = surfaceKind ?? "";
@@ -640,5 +646,6 @@ namespace GameCult.Eve.Surface
[Key(2)] public string SurfaceId { get; }
[Key(3)] public string SurfaceKind { get; }
[Key(4)] public string[] RendezvousEndpoints { get; }
+ [Key(5)] public string AuthorityRuntimeId { get; }
}
}
diff --git a/packages/org.gamecult.eve.surface/package.json b/packages/org.gamecult.eve.surface/package.json
index c4b93b8..a2badf5 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.3.2",
+ "version": "0.3.3",
"unity": "2021.3",
"description": "Renderer-neutral C# contracts and builders for gamecult.eve.surface.v1 documents.",
"dependencies": {
diff --git a/schemas/gamecult.eve.command_receipt.v1.schema.json b/schemas/gamecult.eve.command_receipt.v1.schema.json
index 90ea3fb..f0c3091 100644
--- a/schemas/gamecult.eve.command_receipt.v1.schema.json
+++ b/schemas/gamecult.eve.command_receipt.v1.schema.json
@@ -80,6 +80,10 @@
"type": "string",
"minLength": 1
},
+ "authorityRuntimeId": {
+ "type": "string",
+ "minLength": 1
+ },
"providerId": {
"type": "string"
},
diff --git a/tests/GameCult.Eve.Surface.Serialization.Tests/EveSurfaceSerializationCompatibilityTests.cs b/tests/GameCult.Eve.Surface.Serialization.Tests/EveSurfaceSerializationCompatibilityTests.cs
index df83356..4c44d62 100644
--- a/tests/GameCult.Eve.Surface.Serialization.Tests/EveSurfaceSerializationCompatibilityTests.cs
+++ b/tests/GameCult.Eve.Surface.Serialization.Tests/EveSurfaceSerializationCompatibilityTests.cs
@@ -208,7 +208,8 @@ public sealed class EveSurfaceSerializationCompatibilityTests
"aetheria.daemon",
"aetheria.pilot",
"interactive-world",
- new[] { "cultnet+tcp://odin.gamecult.example:3076" }));
+ new[] { "cultnet+tcp://odin.gamecult.example:3076" },
+ "commander-daemon"));
var bytes = MessagePackSerializer.Serialize(document, Options);
var reader = new MessagePackReader(bytes);
@@ -220,6 +221,7 @@ public sealed class EveSurfaceSerializationCompatibilityTests
Assert.That(wireJson.RootElement.GetProperty("navigation").ValueKind, Is.EqualTo(JsonValueKind.Object));
Assert.That(restored.Navigation, Is.Not.Null);
Assert.That(restored.Navigation!.VerseId, Is.EqualTo("gamecult.aetheria"));
+ Assert.That(restored.Navigation.AuthorityRuntimeId, Is.EqualTo("commander-daemon"));
Assert.That(restored.Navigation.SurfaceId, Is.EqualTo("aetheria.pilot"));
Assert.That(restored.Navigation.SurfaceKind, Is.EqualTo("interactive-world"));
Assert.That(restored.Navigation.RendezvousEndpoints, Is.EqualTo(new[] { "cultnet+tcp://odin.gamecult.example:3076" }));
@@ -260,6 +262,7 @@ public sealed class EveSurfaceSerializationCompatibilityTests
Assert.That(restored.CommandId, Is.EqualTo("legacy-command"));
Assert.That(restored.Navigation, Is.Not.Null);
Assert.That(restored.Navigation!.SurfaceId, Is.EqualTo("aetheria.pilot"));
+ Assert.That(restored.Navigation.AuthorityRuntimeId, Is.Empty);
});
}