quality-control/Assets/Scripts/Products/DefectMaterialVisualizer.cs

31 lines
842 B
C#
Raw Normal View History

using System.Collections.Generic;
using UnityEngine;
2024-08-18 15:48:35 +00:00
public class DefectMaterialVisualizer : MonoBehaviour, IDefectVisualizer
{
public MeshRenderer MeshRenderer;
2024-08-18 15:48:35 +00:00
private List<DefectType> supportedDefects = new()
{
DefectType.Hex_MissingMaterial_1,
DefectType.Hex_MissingMaterial_2,
DefectType.Hex_MissingMaterial_3,
DefectType.Hex_MissingMaterial_4,
DefectType.Hex_MissingMaterial_5,
};
2024-08-18 15:48:35 +00:00
public void VisualizeDefect(DefectType defectType)
{
2024-08-18 15:48:35 +00:00
var materials = MeshRenderer.sharedMaterials;
for (var i = 0; i < supportedDefects.Count; i++)
{
2024-08-18 15:48:35 +00:00
if (defectType.HasFlag(supportedDefects[i]))
{
2024-08-18 15:48:35 +00:00
materials[i + 1] = null;
}
}
2024-08-18 15:48:35 +00:00
MeshRenderer.sharedMaterials = materials;
}
}