resolveIncludes method
Implementation
String resolveIncludes(String string) {
// return string.replaceAll(includePattern, includeReplacer);
// Loop through all matches.
for (var match in includePattern.allMatches(string)) {
/**
* Returns the string matched by the given [group].
*
* If [group] is 0, returns the match of the pattern.
*
* The result may be `null` if the pattern didn't assign a value to it
* as part of this match.
*/
// print(" resolveIncludes ");
// print(match.group(0)); // 15, then 20
String includeString = match.group(1)!;
//print(" includeString: ${includeString} ");
String targetString = ShaderChunk[includeString]!;
String targetString2 = resolveIncludes(targetString);
String fromString = match.group(0)!;
string = string.replaceFirst(fromString, targetString2);
}
return string;
}