Duality.Resources.AbstractShader.ExtractPlatformShader C# (CSharp) Method

ExtractPlatformShader() private method

private ExtractPlatformShader ( string allVersions, string platform ) : string
allVersions string
platform string
return string
        private string ExtractPlatformShader(string allVersions, string platform)
        {
            var versions = allVersions.Split(new[] {"#if"}, StringSplitOptions.None);
            if (versions.Length > 1)
            {
                var version = versions.FirstOrDefault(s => s.Contains(platform));
                if (version == null)
                    throw new InvalidProgramException(string.Format("Couldn't find a platform shader for '{0}' in '{1}'", platform, this.Name));

                var lines = version.Split(Environment.NewLine.ToCharArray(), StringSplitOptions.RemoveEmptyEntries).Skip(1);
                return string.Join(Environment.NewLine, lines);
            }
            return allVersions;
        }