refactor(srp): narrow renderer-data backend seam
This commit is contained in:
@@ -519,9 +519,9 @@ namespace Gameplay
|
||||
}
|
||||
|
||||
internal sealed class ManagedFeaturePassOrderProbeRendererData
|
||||
: ScriptableRendererData
|
||||
: ProbeRendererData
|
||||
{
|
||||
protected override ScriptableRenderer CreateRenderer()
|
||||
protected override ScriptableRenderer CreateProbeRenderer()
|
||||
{
|
||||
return new ManagedFeaturePassOrderProbeRenderer();
|
||||
}
|
||||
@@ -534,11 +534,6 @@ namespace Gameplay
|
||||
new ManagedFeaturePassOrderCustomFeature("CustomB")
|
||||
};
|
||||
}
|
||||
|
||||
protected override string GetPipelineRendererAssetKey()
|
||||
{
|
||||
return "BuiltinForward";
|
||||
}
|
||||
}
|
||||
|
||||
internal sealed class CameraDataObservationPass
|
||||
@@ -1034,11 +1029,6 @@ namespace Gameplay
|
||||
{
|
||||
return new ManagedRenderPipelineProbe();
|
||||
}
|
||||
|
||||
protected override string GetPipelineRendererAssetKey()
|
||||
{
|
||||
return "MissingBackend";
|
||||
}
|
||||
}
|
||||
|
||||
internal sealed class ManagedBuiltinForwardAliasProbeRendererData
|
||||
@@ -1048,11 +1038,6 @@ namespace Gameplay
|
||||
{
|
||||
return new ManagedRenderPipelineProbe();
|
||||
}
|
||||
|
||||
protected override string GetPipelineRendererAssetKey()
|
||||
{
|
||||
return "BuiltinForwardAlias";
|
||||
}
|
||||
}
|
||||
|
||||
internal sealed class ManagedRendererSelectionInactiveRenderer
|
||||
@@ -1072,9 +1057,9 @@ namespace Gameplay
|
||||
}
|
||||
|
||||
internal sealed class ManagedRendererSelectionActiveRendererData
|
||||
: ScriptableRendererData
|
||||
: ProbeRendererData
|
||||
{
|
||||
protected override ScriptableRenderer CreateRenderer()
|
||||
protected override ScriptableRenderer CreateProbeRenderer()
|
||||
{
|
||||
return new ProbeSceneRenderer();
|
||||
}
|
||||
@@ -1102,11 +1087,6 @@ namespace Gameplay
|
||||
CameraFrameStage.PostProcess,
|
||||
CameraFrameColorSource.MainSceneColor);
|
||||
}
|
||||
|
||||
protected override string GetPipelineRendererAssetKey()
|
||||
{
|
||||
return "BuiltinForward";
|
||||
}
|
||||
}
|
||||
|
||||
internal sealed class ManagedRendererSelectionInactiveRendererData
|
||||
@@ -1116,11 +1096,6 @@ namespace Gameplay
|
||||
{
|
||||
return new ManagedRendererSelectionInactiveRenderer();
|
||||
}
|
||||
|
||||
protected override string GetPipelineRendererAssetKey()
|
||||
{
|
||||
return "MissingBackend";
|
||||
}
|
||||
}
|
||||
|
||||
internal sealed class ManagedRendererReuseProbeRendererData
|
||||
@@ -1434,9 +1409,9 @@ namespace Gameplay
|
||||
}
|
||||
|
||||
internal sealed class ManagedLifecycleProbeRendererData
|
||||
: ScriptableRendererData
|
||||
: ProbeRendererData
|
||||
{
|
||||
protected override ScriptableRenderer CreateRenderer()
|
||||
protected override ScriptableRenderer CreateProbeRenderer()
|
||||
{
|
||||
ManagedLifecycleProbeState.CreateRendererCallCount++;
|
||||
return new ManagedLifecycleProbeRenderer();
|
||||
@@ -1458,11 +1433,6 @@ namespace Gameplay
|
||||
};
|
||||
}
|
||||
|
||||
protected override string GetPipelineRendererAssetKey()
|
||||
{
|
||||
return "BuiltinForward";
|
||||
}
|
||||
|
||||
protected override void ReleaseRuntimeResources()
|
||||
{
|
||||
ManagedLifecycleProbeState.ReleaseRendererDataRuntimeResourcesCallCount++;
|
||||
@@ -1512,6 +1482,60 @@ namespace Gameplay
|
||||
}
|
||||
}
|
||||
|
||||
internal abstract class ProbePipelineRendererKeyAsset
|
||||
: RendererBackedRenderPipelineAsset
|
||||
{
|
||||
protected sealed override string
|
||||
GetPipelineRendererAssetKeyContextual(
|
||||
int rendererIndex)
|
||||
{
|
||||
int resolvedRendererIndex =
|
||||
ResolvePipelineRendererProbeIndex(
|
||||
rendererIndex);
|
||||
string overrideAssetKey =
|
||||
ResolveProbePipelineRendererAssetKey(
|
||||
resolvedRendererIndex);
|
||||
return !string.IsNullOrEmpty(overrideAssetKey)
|
||||
? overrideAssetKey
|
||||
: base.GetPipelineRendererAssetKeyContextual(
|
||||
resolvedRendererIndex);
|
||||
}
|
||||
|
||||
protected virtual string ResolveProbePipelineRendererAssetKey(
|
||||
int resolvedRendererIndex)
|
||||
{
|
||||
return string.Empty;
|
||||
}
|
||||
|
||||
private int ResolvePipelineRendererProbeIndex(
|
||||
int rendererIndex)
|
||||
{
|
||||
if (rendererDataList != null &&
|
||||
rendererIndex >= 0 &&
|
||||
rendererIndex < rendererDataList.Length)
|
||||
{
|
||||
return rendererIndex;
|
||||
}
|
||||
|
||||
if (rendererDataList == null ||
|
||||
rendererDataList.Length == 0)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
int resolvedDefaultRendererIndex =
|
||||
defaultRendererIndex;
|
||||
if (resolvedDefaultRendererIndex < 0 ||
|
||||
resolvedDefaultRendererIndex >=
|
||||
rendererDataList.Length)
|
||||
{
|
||||
resolvedDefaultRendererIndex = 0;
|
||||
}
|
||||
|
||||
return resolvedDefaultRendererIndex;
|
||||
}
|
||||
}
|
||||
|
||||
public sealed class ManagedUniversalLifecycleProbeAsset
|
||||
: UniversalRenderPipelineAsset
|
||||
{
|
||||
@@ -1570,7 +1594,7 @@ namespace Gameplay
|
||||
}
|
||||
|
||||
public sealed class ManagedUnknownBackendRenderPipelineProbeAsset
|
||||
: RendererBackedRenderPipelineAsset
|
||||
: ProbePipelineRendererKeyAsset
|
||||
{
|
||||
public ManagedUnknownBackendRenderPipelineProbeAsset()
|
||||
{
|
||||
@@ -1579,10 +1603,16 @@ namespace Gameplay
|
||||
new ManagedUnknownBackendProbeRendererData()
|
||||
};
|
||||
}
|
||||
|
||||
protected override string ResolveProbePipelineRendererAssetKey(
|
||||
int resolvedRendererIndex)
|
||||
{
|
||||
return "MissingBackend";
|
||||
}
|
||||
}
|
||||
|
||||
public sealed class ManagedBuiltinForwardAliasRenderPipelineProbeAsset
|
||||
: RendererBackedRenderPipelineAsset
|
||||
: ProbePipelineRendererKeyAsset
|
||||
{
|
||||
public ManagedBuiltinForwardAliasRenderPipelineProbeAsset()
|
||||
{
|
||||
@@ -1591,6 +1621,12 @@ namespace Gameplay
|
||||
new ManagedBuiltinForwardAliasProbeRendererData()
|
||||
};
|
||||
}
|
||||
|
||||
protected override string ResolveProbePipelineRendererAssetKey(
|
||||
int resolvedRendererIndex)
|
||||
{
|
||||
return "BuiltinForwardAlias";
|
||||
}
|
||||
}
|
||||
|
||||
public sealed class ManagedUniversalRenderPipelineProbeAsset
|
||||
@@ -1622,7 +1658,7 @@ namespace Gameplay
|
||||
}
|
||||
|
||||
public sealed class ManagedDefaultRendererSelectionProbeAsset
|
||||
: RendererBackedRenderPipelineAsset
|
||||
: ProbePipelineRendererKeyAsset
|
||||
{
|
||||
public ManagedDefaultRendererSelectionProbeAsset()
|
||||
{
|
||||
@@ -1633,10 +1669,18 @@ namespace Gameplay
|
||||
};
|
||||
defaultRendererIndex = 1;
|
||||
}
|
||||
|
||||
protected override string ResolveProbePipelineRendererAssetKey(
|
||||
int resolvedRendererIndex)
|
||||
{
|
||||
return resolvedRendererIndex == 0
|
||||
? "MissingBackend"
|
||||
: string.Empty;
|
||||
}
|
||||
}
|
||||
|
||||
public sealed class ManagedInvalidDefaultRendererSelectionProbeAsset
|
||||
: RendererBackedRenderPipelineAsset
|
||||
: ProbePipelineRendererKeyAsset
|
||||
{
|
||||
public ManagedInvalidDefaultRendererSelectionProbeAsset()
|
||||
{
|
||||
@@ -1647,10 +1691,18 @@ namespace Gameplay
|
||||
};
|
||||
defaultRendererIndex = 5;
|
||||
}
|
||||
|
||||
protected override string ResolveProbePipelineRendererAssetKey(
|
||||
int resolvedRendererIndex)
|
||||
{
|
||||
return resolvedRendererIndex == 1
|
||||
? "MissingBackend"
|
||||
: string.Empty;
|
||||
}
|
||||
}
|
||||
|
||||
public sealed class ManagedFallbackRendererSelectionConsistencyProbeAsset
|
||||
: RendererBackedRenderPipelineAsset
|
||||
: ProbePipelineRendererKeyAsset
|
||||
{
|
||||
public ManagedFallbackRendererSelectionConsistencyProbeAsset()
|
||||
{
|
||||
@@ -1661,6 +1713,14 @@ namespace Gameplay
|
||||
};
|
||||
defaultRendererIndex = 7;
|
||||
}
|
||||
|
||||
protected override string ResolveProbePipelineRendererAssetKey(
|
||||
int resolvedRendererIndex)
|
||||
{
|
||||
return resolvedRendererIndex == 1
|
||||
? "MissingBackend"
|
||||
: string.Empty;
|
||||
}
|
||||
}
|
||||
|
||||
public sealed class ManagedRendererReuseProbeAsset
|
||||
|
||||
Reference in New Issue
Block a user