From 50d5539f8d11dc29a3fb27e35bcdec1a9b109d07 Mon Sep 17 00:00:00 2001 From: ousttrue Date: Tue, 23 Mar 2021 13:46:11 +0900 Subject: [PATCH] GltfTextureEnumerator.Enumerate uniqueness --- .../Runtime/UniGLTF/IO/MaterialIO/GltfTextureEnumerator.cs | 5 ++++- Assets/UniGLTF/Tests/UniGLTF/GltfLoadTests.cs | 4 ---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/Assets/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/GltfTextureEnumerator.cs b/Assets/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/GltfTextureEnumerator.cs index 074816122..15147905b 100644 --- a/Assets/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/GltfTextureEnumerator.cs +++ b/Assets/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/GltfTextureEnumerator.cs @@ -52,11 +52,14 @@ namespace UniGLTF public static IEnumerable Enumerate(glTF gltf) { + var used = new HashSet(); foreach (var material in gltf.materials) { foreach (var textureInfo in EnumerateTextures(gltf, material)) { - yield return textureInfo; + if(used.Add(textureInfo)){ + yield return textureInfo; + } } } } diff --git a/Assets/UniGLTF/Tests/UniGLTF/GltfLoadTests.cs b/Assets/UniGLTF/Tests/UniGLTF/GltfLoadTests.cs index 7f10c96f8..e27914c53 100644 --- a/Assets/UniGLTF/Tests/UniGLTF/GltfLoadTests.cs +++ b/Assets/UniGLTF/Tests/UniGLTF/GltfLoadTests.cs @@ -101,10 +101,6 @@ namespace UniGLTF // should unique var gltfTextures = GltfTextureEnumerator.Enumerate(parser.GLTF); var distinct = gltfTextures.Distinct().ToArray(); - if (!gltfTextures.SequenceEqual(distinct)) - { - var a = 0; - } Assert.True(gltfTextures.SequenceEqual(distinct)); }