private int GetPassLayer(int pass, ShaderTemplatePostprocessDefinitionNewBlock template, TagBlockIndexStructBlock blockIndexData) { var layerIndex = 0; foreach (var layer in template.Layers.Skip(blockIndexData.Index).Take(blockIndexData.Length)) { if (HasShaderPass(layer) && ShaderPassOf(layer) == pass) { return(layerIndex); } layerIndex++; } return(-1); }
public static IEnumerable <T> TakeSubset <T>(this IEnumerable <T> enumerable, TagBlockIndexStructBlock param) { return(enumerable.Skip(param.Index).Take(param.Length)); }