public void Condition(Func <string> expression, ShaderSnippet trueSnippet, ShaderSnippet falseSnippet) { checkCanReceiveCommands(); if (code != null) { FlowDependant(() => $"if ({expression()})\n{{"); trueSnippet.Generate(this); if (falseSnippet != null) { code.AppendLine("}\nelse\n{"); falseSnippet.Generate(this); } code.AppendLine("}"); } else { FlowDependant(expression); trueSnippet.Generate(this); falseSnippet?.Generate(this); } }