Resolve provider beam roles in live clients
This commit is contained in:
parent
e4d83f342f
commit
7272667e2c
3 changed files with 5 additions and 2 deletions
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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": {
|
||||
|
|
|
|||
Reference in a new issue