Resolve provider beam roles in live clients

This commit is contained in:
Meta Vens 2026-07-15 10:53:19 +01:00
commit 7272667e2c
3 changed files with 5 additions and 2 deletions

View file

@ -64,7 +64,7 @@ namespace GameCult.Eve.UnityScene
{
Remove(presentation.Id);
var prefab = assetProvider?.ResolvePrefab(new EveUnityPlayableWorldAssetBinding(
"", presentation.AssetRole, "provider-asset-ref"));
presentation.AssetRole, presentation.AssetRole, "provider-asset-ref"));
if (prefab == null) continue;
var root = Instantiate(prefab, source.Transform, false);
root.name = "Eve beam " + presentation.Id;

View file

@ -50,6 +50,7 @@ namespace GameCult.Eve.UnityScene.Tests
{
renderer.Apply(new[] { Presentation(0.5f) }, registry, provider);
Assert.That(provider.LastAssetRef, Is.EqualTo("effect.beam.tractor"));
Assert.That(provider.LastRole, Is.EqualTo("effect.beam.tractor"));
Assert.That(renderer.ActiveBeamCount, Is.EqualTo(1));
Assert.That(renderer.TryGetPower("tractor", out var power), Is.True);
@ -127,9 +128,11 @@ namespace GameCult.Eve.UnityScene.Tests
{
private readonly GameObject _prefab;
public Provider(GameObject prefab) { _prefab = prefab; }
public string LastAssetRef { get; private set; } = "";
public string LastRole { get; private set; } = "";
public GameObject? ResolvePrefab(EveUnityPlayableWorldAssetBinding asset)
{
LastAssetRef = asset.AssetRef;
LastRole = asset.EntityKind;
return _prefab;
}

View file

@ -1,7 +1,7 @@
{
"name": "org.gamecult.eve.unity-scene",
"displayName": "Eve Unity Scene Lowering",
"version": "0.3.28",
"version": "0.3.29",
"unity": "2021.3",
"description": "Provider-agnostic Unity scene shell for gamecult.eve.surface.v1 interactive world surfaces.",
"dependencies": {