using GLTF.Schema; using System; using UnityEngine; namespace UnityGLTF.Cache { public class MaterialCacheData : IDisposable { public Material UnityMaterial { get; set; } public Material UnityMaterialWithVertexColor { get; set; } public GLTFMaterial GLTFMaterial { get; set; } public Material GetContents(bool useVertexColors) { return useVertexColors ? UnityMaterialWithVertexColor : UnityMaterial; } /// /// Unloads the materials in this cache. /// public void Dispose() { if (UnityMaterial != null) { UnityEngine.Object.Destroy(UnityMaterial); UnityMaterial = null; } if (UnityMaterialWithVertexColor != null) { UnityEngine.Object.Destroy(UnityMaterialWithVertexColor); UnityMaterialWithVertexColor = null; } } } }