AcTools.Render.Kn5Specific.Textures.TexturesProvider.GetTexture C# (CSharp) Méthode

GetTexture() private méthode

private GetTexture ( [ kn5Filename, string textureName, DeviceContextHolder contextHolder ) : IRenderableTexture
kn5Filename [
textureName string
contextHolder DeviceContextHolder
Résultat IRenderableTexture
        public IRenderableTexture GetTexture([NotNull] string kn5Filename, string textureName, DeviceContextHolder contextHolder) {
            if (kn5Filename == null) throw new ArgumentNullException(nameof(kn5Filename));

            var key = kn5Filename + "//" + textureName;
            IRenderableTexture texture;
            if (_textures.TryGetValue(key, out texture)) return texture;

            var result = new RenderableTexture(textureName) { Resource = null };
            IOverridedTextureProvider provider;
            if (_overridedProviders.TryGetValue(kn5Filename, out provider)) {
                LoadOverrideAsync(result, textureName, provider, contextHolder);
            }

            var kn5 = _kn5Entries.Where(x => string.Equals(x.Filename, kn5Filename, StringComparison.OrdinalIgnoreCase))
                          .Select(x => x.Kn5).FirstOrDefault(x => x.TexturesData.ContainsKey(textureName));
            if (kn5 == null) return result;
            
            result.LoadAsync(kn5.TexturesData[textureName], contextHolder.Device).Forget();
            return _textures[key] = result;
        }

Same methods

TexturesProvider::GetTexture ( string filename, DeviceContextHolder contextHolder ) : IRenderableTexture