Skip to content

Commit 023ca58

Browse files
committed
api: Adapt to latest changes.
1 parent 3cb5c23 commit 023ca58

File tree

1 file changed

+17
-16
lines changed

1 file changed

+17
-16
lines changed

Runtime/MaterialConverter.cs

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,17 @@
2222
using System.Text;
2323
using UnityEngine;
2424
using VisualPinball.Engine.VPT;
25+
using Material = UnityEngine.Material;
2526
using Mesh = VisualPinball.Engine.VPT.Mesh;
2627

2728
namespace VisualPinball.Unity.Urp
2829
{
2930
public class MaterialConverter : IMaterialConverter
3031
{
31-
public UnityEngine.Material DotMatrixDisplay => UnityEngine.Resources.Load<UnityEngine.Material>("Materials/DotMatrixDisplay");
32-
public UnityEngine.Material SegmentDisplay => UnityEngine.Resources.Load<UnityEngine.Material>("Materials/SegmentDisplay");
32+
public Material DotMatrixDisplay => UnityEngine.Resources.Load<Material>("Materials/DotMatrixDisplay");
33+
public Material SegmentDisplay => UnityEngine.Resources.Load<Material>("Materials/SegmentDisplay");
34+
35+
public int NormalMapProperty => NormalMap;
3336

3437
#region Shader Properties
3538

@@ -55,27 +58,27 @@ private Shader GetShader(PbrMaterial vpxMaterial)
5558
: GetShader();
5659
}
5760

58-
public static UnityEngine.Material GetDefaultMaterial(BlendMode blendMode)
61+
public static Material GetDefaultMaterial(BlendMode blendMode)
5962
{
6063
switch (blendMode)
6164
{
6265
case BlendMode.Opaque:
63-
return UnityEngine.Resources.Load<UnityEngine.Material>("Materials/TableOpaque");
66+
return UnityEngine.Resources.Load<Material>("Materials/TableOpaque");
6467
case BlendMode.Cutout:
65-
return UnityEngine.Resources.Load<UnityEngine.Material>("Materials/TableCutout");
68+
return UnityEngine.Resources.Load<Material>("Materials/TableCutout");
6669
case BlendMode.Translucent:
67-
return UnityEngine.Resources.Load<UnityEngine.Material>("Materials/TableTranslucent");
70+
return UnityEngine.Resources.Load<Material>("Materials/TableTranslucent");
6871
default:
6972
throw new ArgumentOutOfRangeException("Undefined blend mode " + blendMode);
7073
}
71-
7274
}
7375

74-
public UnityEngine.Material CreateMaterial(PbrMaterial vpxMaterial, TableAuthoring table, Type objectType, StringBuilder debug = null)
76+
public Material CreateMaterial(PbrMaterial vpxMaterial, ITextureProvider textureProvider, Type objectType,
77+
StringBuilder debug = null)
7578
{
76-
UnityEngine.Material defaultMaterial = GetDefaultMaterial(vpxMaterial.MapBlendMode);
79+
Material defaultMaterial = GetDefaultMaterial(vpxMaterial.MapBlendMode);
7780

78-
var unityMaterial = new UnityEngine.Material(GetShader(vpxMaterial));
81+
var unityMaterial = new Material(GetShader(vpxMaterial));
7982
unityMaterial.CopyPropertiesFromMaterial(defaultMaterial);
8083
unityMaterial.name = vpxMaterial.Id;
8184

@@ -119,18 +122,16 @@ public UnityEngine.Material CreateMaterial(PbrMaterial vpxMaterial, TableAuthori
119122
unityMaterial.SetFloat(Smoothness, vpxMaterial.Roughness);
120123

121124
// map
122-
if (table != null && vpxMaterial.HasMap)
123-
{
124-
unityMaterial.SetTexture(BaseMap, table.GetTexture(vpxMaterial.Map.Name));
125+
if (vpxMaterial.HasMap) {
126+
unityMaterial.SetTexture(BaseMap, textureProvider.GetTexture(vpxMaterial.Map.Name));
125127
}
126128

127129
// normal map
128-
if (table != null && vpxMaterial.HasNormalMap)
129-
{
130+
if (vpxMaterial.HasNormalMap) {
130131
unityMaterial.EnableKeyword("_NORMALMAP");
131132
unityMaterial.EnableKeyword("_NORMALMAP_TANGENT_SPACE");
132133

133-
unityMaterial.SetTexture(NormalMap, table.GetTexture(vpxMaterial.NormalMap.Name));
134+
unityMaterial.SetTexture(NormalMap, textureProvider.GetTexture(vpxMaterial.NormalMap.Name));
134135
}
135136

136137
return unityMaterial;

0 commit comments

Comments
 (0)