Advertisement
Guest User

Untitled

a guest
Oct 21st, 2019
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.95 KB | None | 0 0
  1. private void CreateShaderList(GenericMenu menu)
  2. {
  3.     ShaderInfo[] allShaderInfo = ShaderUtil.GetAllShaderInfo();
  4.     List<string> list = new List<string>();
  5.     List<string> list2 = new List<string>();
  6.     List<string> list3 = new List<string>();
  7.     List<string> list4 = new List<string>();
  8.     List<string> list5 = new List<string>();
  9.     ShaderInfo[] array = allShaderInfo;
  10.     for (int i = 0; i < array.Length; i++)
  11.     {
  12.         ShaderInfo shaderInfo = array[i];
  13.         if (!shaderInfo.name.StartsWith("Deprecated") && !shaderInfo.name.StartsWith("Hidden"))
  14.         {
  15.             if (shaderInfo.hasErrors)
  16.             {
  17.                 list5.Add(shaderInfo.name);
  18.             }
  19.             else if (!shaderInfo.supported)
  20.             {
  21.                 list4.Add(shaderInfo.name);
  22.             }
  23.             else if (shaderInfo.name.StartsWith("Legacy Shaders/"))
  24.             {
  25.                 list3.Add(shaderInfo.name);
  26.             }
  27.             else if (shaderInfo.name.Contains("/"))
  28.             {
  29.                 list2.Add(shaderInfo.name);
  30.             }
  31.             else
  32.             {
  33.                 list.Add(shaderInfo.name);
  34.             }
  35.         }
  36.     }
  37.     list.Sort();
  38.     list2.Sort();
  39.     list3.Sort();
  40.     list4.Sort();
  41.     list5.Sort();
  42.     list.ForEach(delegate(string s)
  43.     {
  44.         AddShaderToMenu("", menu, s);
  45.     });
  46.     list2.ForEach(delegate(string s)
  47.     {
  48.         AddShaderToMenu("", menu, s);
  49.     });
  50.     if (list3.Any())
  51.     {
  52.         menu.AddSeparator("");
  53.     }
  54.     list3.ForEach(delegate(string s)
  55.     {
  56.         AddShaderToMenu("", menu, s);
  57.     });
  58.     if (list4.Any())
  59.     {
  60.         menu.AddSeparator("");
  61.     }
  62.     list4.ForEach(delegate(string s)
  63.     {
  64.         AddShaderToMenu("Not supported/", menu, s);
  65.     });
  66.     if (list5.Any())
  67.     {
  68.         menu.AddSeparator("");
  69.     }
  70.     list5.ForEach(delegate(string s)
  71.     {
  72.         AddShaderToMenu("Failed to compile/", menu, s);
  73.     });
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement